VFS_STREAMS_XATTR(8)

πŸ’… VFS_STREAMS_XATTR β€” like, the manual page, but make it cute

okay bestie, welcome to vfs_streams_xattr(8), a System Administration tool, and yes it's giving "niche but iconic" πŸ’–


✨ NAME ✨

vfs_streams_xattr β€” store alternate data streams in posix xattrs πŸ¦‹


πŸŽ€ SYNOPSIS πŸŽ€

vfs objects = streams_xattr

🌸 DESCRIPTION 🌸

So this VFS module is part of the samba(7) suite, periodt. 🫢

vfs_streams_xattr enables storing of NTFS alternate data streams in the file system. And here's the thing: a normal posix file system literally does not support the concept of multiple data streams per file. Not a vibe of theirs. So 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 β€” and I need you to hear me on this β€” be aware that this will also expose those ADS over the SMB extended attributes interface. 😭

The file system that is shared with this module enabled must support xattrs. No xattrs, no streams, no slay. πŸ’€

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 it will fail for applications that store serious amounts of data in ADSs. Fr fr, don't come for it when your huge stream doesn't fit. πŸ™ˆ

πŸ‘‘ OPTIONS πŸ‘‘

  • streams_xattr:prefix = STRING β€” 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. Iykyk.
  • streams_xattr:store_stream_type = [yes|no] β€” Whether the xattr names for Alternate Data Streams of type "$DATA" are suffixed by the stream type string ":$DATA". The default is yes.
  • streams_xattr:max xattrs per stream = NUM β€” 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. πŸ‘€

The size of a single xattr is limited by the smb.conf parameter smbd max xattr size.

This is limited to 16 xattrs per alternate data stream.

The default value is 1, compatible to the default behaviour before this feature was introduced.

  • streams_xattr:ext_prefix = STRING β€” 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 ".".

The overflow xattrs will be named according to a pattern following "user.DosStreamExt.0.ADS-NAME". πŸŽ€


⭐ EXAMPLES ⭐

[share]
vfs objects = streams_xattr

🌈 AUTHOR 🌈

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. Legends only, honestly. πŸ‘‘


and that's the whole page, bestie!! this one came to you from Samba 4.24.7-Ubuntu-4.24.7+dfs, dated 09/13/2026, living its best life as VFS_STREAMS_XATTR(8). go store some streams in some xattrs, mwah πŸ’–βœ¨

πŸ“¦ where this page comes from