Re: Streams support in Linux

Jeremy Allison
2018-08-29T01:16:21Z

On Tue, Aug 28, 2018 at 11:19:09PM +0200, Stefan Metzmacher wrote:
> Am 28.08.2018 um 22:47 schrieb Jeremy Allison via samba-technical:
> > On Tue, Aug 28, 2018 at 03:43:45PM -0500, Steve French wrote:
> >>
> >> In theory I could construct a struct fd by setting up a struct file on the fly
> >> (see "alloc_empty_file" for example) and the few dozen fields in it,
> >> but it would be a lot easier to return them as xattrs with a reserved
> >> prefix (e.g. "streams")
> >> since most of these are small (some examples) and could have been
> >> stored in xattrs
> >> if the Apple or Windows developers had wanted to
> >>
> >> "streams.ZoneIdentifier" (for Internet Explorer download security info)
> >> "streams.favicon" (for Internet explorer icons)
> >> "streams.AFP_AfpInfo" and "streams.AFP_Resource" (for two common Mac streams)
> >> "streams.XPRESS" (for compression)
> >
> > Hmmm. Yeah, I guess this works if you can ensure
> > the prefix is reserved.
>
> Remember some of the AFP stream can get very large, Ralph should have
> more details about it.

Steve is talking about the enumeration step, not the open/read
method. I still think my ioctl approach works best there.

> Also from reading [MS-FSA] I have the impression that opens on stream
> would also support oplocks/leases as well as byte range locks.

Yep, but we have no way to express that in POSIX anyway
(so I guess the strategy is always ask for the best you
can get).