'\" t
.\"     Title: vfs_streams_xattr
.\"    Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\"      Date: 05/28/2026
.\"    Manual: System Administration tools
.\"    Source: Samba 4.24.3
.\"  Language: English
.\"
.TH "VFS_STREAMS_XATTR" "8" "05/28/2026" "Samba 4\&.24\&.3" "System Administration tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
vfs_streams_xattr \- Store alternate data streams in posix xattrs
.SH "SYNOPSIS"
.HP \w'\ 'u
vfs objects = streams_xattr
.SH "DESCRIPTION"
.PP
This VFS module is part of the
\fBsamba\fR(7)
suite\&.
.PP
The
vfs_streams_xattr
enables storing of NTFS alternate data streams in the file system\&. As a normal posix file system does not support the concept of multiple data streams per file, the streams_xattr module stores the data in posix extended attributes (xattrs)\&. The name of these attributes by default is user\&.DosStream\&."ADS\-NAME"\&. The prefix "user\&.DosStream\&." can be changed with the module option
streams_xattr:prefix, but be aware that this will also expose those ADS over the SMB extended attributes interface\&.
.PP
The file system that is shared with this module enabled must support xattrs\&.
.PP
Please note that most file systems have severe limitations on the size of xattrs\&. So this module might work for applications like IE that stores small zone information in streams but will fail for applications that store serious amounts of data in ADSs\&.
.SH "OPTIONS"
.PP
streams_xattr:prefix = STRING
.RS 4
Name prefix used when storing an ADS in an xattr, defaults to
user\&.DosStream\&.\&. Changing this will also expose ADS over the SMB extended attributes interface\&.
.RE
.PP
streams_xattr:store_stream_type = [yes|no]
.RS 4
Whether the xattr names for Alternate Data Streams of type "$DATA" are suffixed by the stream type string ":$DATA"\&. The default is
yes\&.
.RE
.PP
streams_xattr:max xattrs per stream = NUM
.RS 4
On file systems where the size of a single xattr is more limited than the overall size of xattrs per inode, setting this parameter to a number between 2 and 16 will allow smbd to store larger streams than what fits into a single xattr\&. For example Linux has a limit of 64kB per xattr, but XFS can store more than that per inode\&.
.sp
The size of a single xattr is limited by the smb\&.conf parameter
smbd max xattr size
.sp
This is limited to 16 xattrs per alternate data stream\&.
.sp
The default value is
1, compatible to the default behaviour before this feature was introduced\&.
.RE
.PP
streams_xattr:ext_prefix = STRING
.RS 4
Name prefix used when storing overflow xattrs of a stream\&. It defaults to
streams_xattr:prefix
with the string "Ext" appended\&. If
streams_xattr:prefix
ends in a "\&.", "Ext" is inserted before the "\&."\&.
.sp
The overflow xattrs will be named according to a pattern following "user\&.DosStreamExt\&.0\&.ADS\-NAME"\&.
.RE
.SH "EXAMPLES"
.sp
.if n \{\
.RS 4
.\}
.nf
        \fI[share]\fR
	\m[blue]\fBvfs objects = streams_xattr\fR\m[]
.fi
.if n \{\
.RE
.\}
.SH "AUTHOR"
.PP
The original Samba software and related utilities were created by Andrew Tridgell\&. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed\&.
