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).