smb2 unix extensions

Volker Lendecke Volker.Lendecke at SerNet.DE
Wed Apr 9 08:24:17 MDT 2014


Release early, release often :-)

For all interested in discussing $SUBJECT,;a=shortlog;h=refs/heads/smb2-unix

is what I'm playing with right now. As a starting point, I
chose to implement a fuse module based on our async client
libraries, not libsmbclient:;a=blob;f=source3/client/clifuse.c;hb=smb2-unix

is the current status. All smb2-unix specific that it does
is getting unix attributes at getattr time, and beyond that
it's pretty incomplete and broken. The way it gets the unix
attributes is via a "POSX" create blob, see;a=commitdiff;h=2b0ca6c0b

I could imagine that we can stash quite a bit into that POSX
create blob. Versioning, chmod, chown etc could just be done
at open time, similarly we could implement readlink.

We will have to implement a request blob for POSX that will
specify the operation in question, but we could easily model
that along the fuse lowlevel operation structs.

Why fuse? I don't know how complete a unix file system you
can get via fuse, but this seems pretty standard these days
and if we can fulfill fuse's requirements, I think we are a
good part down the road towards unix extensions that might
also fulfill cifs.ko's requirements and others.

Comments welcome :-)


SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen, mailto:kontakt at

More information about the samba-technical mailing list