[Samba] Support for multiple file streams?

Guenter Kukkukk kernel at kukkukk.com
Thu Jun 28 03:56:23 GMT 2007

Am Dienstag, 26. Juni 2007 22:07 schrieb Ephi Dror:
> Hello,
> Look like demand for multiple file streams support increased lately.
> Does samba 3 series intend to support it any time soon?
> Look like SAMBA 4 is working on it based on the following form Andrew
> Tridgell:
> One simple but important example of how the new NTVFS layer helps is the
> addition of support for "NT file streams." A file in a NT filesystem can
> have multiple "streams," where the primary stream (called ":$DATA") is
> the normal file data that people are used to thinking about, but there
> can be any number of other named streams containing other types of data,
> such as meta-data describing who wrote the file, or an audio stream, or
> even some data from an anti-virus scan of the file. Importantly, recent
> updates to WindowsXP use streams to store security information about
> where a file came from, which allows Windows to display a warning when
> you try to execute a file that comes from an untrusted "security zone."
> POSIX file systems have no concept of multiple streams, and as Samba was
> originally designed as a tool for representing a POSIX filesystem to
> Windows clients, there was no attempt to add stream support. The
> situation has now changed, with streams becoming a more essential
> feature for a file server for Windows clients, and at the same time user
> expectations for compatibility with WindowsNT have risen. This means we
> really need to support streams, but in order to do that properly, a lot
> of the internals of Samba needed to be updated. This is achieved in
> Samba4 using the new NTVFS layer, which allows streams to be represented
> either using an external database or using "file xattrs," which is an
> extension recently added to Linux, and which is also present in a number
> of other, Unix-like systems. 
> Does anyone aware on any experimental attempt to provide this
> functionality in samba 3.0.x or if it is on the roadmap.
> Cheers,
> Ephi


there is currently _no_ way to (exactly) represent MS ntfs alternate
data streams on *nix file systems!

The approach to store them on the *nix side into the xattr file space
- or into a separate DB - (like samba4 is doing) is a first go, but
can never meet the "the nearly unlimited" size of ads on MS systems.

Ext2/ext3 has a limited xattr size of about 4KB (!), other file systems
(reiserfs, xfs, jfs, ...) allow about (restricted multiples) of 64KB.

Anyway - _big_ "alternate data streams" on current *nix systems is
a "no go"!

The good news. MS alternate data streams haven't been used
heavily in the past - and the currently used sizes could be 
represented by using the very simple *nix xattr space.

Samba4 is going that way, and samba3 atm has no chance to do
it a different way...

Cheers, Guenter

More information about the samba mailing list