No subject


Wed Oct 20 02:45:58 MDT 2010


"The Synchronize permission allows or denies different threads to wait on
the handle for the file or folder and synchronize with another thread that
may signal it. This permission applies only to multiple-threaded,
multiple-process programs. "

On the other hand, the syncronize permission under zfs is:

     synchronize (s)         Permission to access file locally at
                             server  with  synchronize  reads and
                             writes.

                             Currently, this  permission  is  not
                             supported.

Not only is this completely different, it's not even implemented 8-/.

I don't really want the zfs syncronize permission set on all my zfs stuff.
It seems the best thing to do is to simply always flip that bit on when the
acl is sent to windows, and always flip it off when a windows acl is
written to a zfs object.

I wrote a simple patch to do so. Any feedback on whether this is a good
solution, or recommendations on a better one, would be much appreciated.


*** vfs_zfsacl.c.orig   Tue Jan 11 13:05:08 2011
--- vfs_zfsacl.c        Tue Jan 11 13:00:59 2011
***************
*** 77,82 ****
--- 77,83 ----
                aceprop.aceType  = (uint32) acebuf[i].a_type;
                aceprop.aceFlags = (uint32) acebuf[i].a_flags;
                aceprop.aceMask  = (uint32) acebuf[i].a_access_mask;
+               aceprop.aceMask  |= SMB_ACE4_SYNCHRONIZE;
                aceprop.who.id   = (uint32) acebuf[i].a_who;

                if(aceprop.aceFlags & ACE_OWNER) {
***************
*** 123,128 ****
--- 124,130 ----
                acebuf[i].a_type        = aceprop->aceType;
                acebuf[i].a_flags       = aceprop->aceFlags;
                acebuf[i].a_access_mask = aceprop->aceMask;
+               acebuf[i].a_access_mask &= ~SMB_ACE4_SYNCHRONIZE;
                acebuf[i].a_who         = aceprop->who.id;
                if(aceprop->flags & SMB_ACE4_ID_SPECIAL) {
                        switch(aceprop->who.special_id) {



-- 
Paul B. Henson  |  (909) 979-6361  |  http://www.csupomona.edu/~henson/
Operating Systems and Network Analyst  |  henson at csupomona.edu
California State Polytechnic University  |  Pomona CA 91768


More information about the samba-technical mailing list