diff options
author | Lubomir Rintel <lubo.rintel@gooddata.com> | 2011-12-19 23:40:11 +0100 |
---|---|---|
committer | Anand Avati <avati@gluster.com> | 2012-01-12 09:12:38 -0800 |
commit | 919e3424849db2276e003dcd919a470838bf084f (patch) | |
tree | e06f45b4e855828e7180ce0cde932f2abcecbe17 /xlators/mgmt/glusterd/src/glusterd-utils.c | |
parent | 8a78d969ee8b7c284751364d72496eec84c7290b (diff) |
posix-acl: properly process umask in case client sent it
FUSE used to interpret the umask itself. That was a bad idea, since
there are cases where umask is not applied, such as when extended POSIX
ACLs are present and default ACLs are set on parent directory.
The FUSE bridge was changed to send original mode with umask (alongside
masked mode, for compatibility). If that is the case, we decide whether
to apply the umask or not in the posix-acl translator depending on
whether a default umask is set, or not.
The original, broken, behavior is preserved in following cases:
* Unpatched client (not sending umask with original mode)
* Unpatched server (not understanding umask with original mode)
* Old FUSE on client side (FUSE < 7.12 or linux < 2.6.31)
(can not find out the umask and original mode)
Change-Id: I2e3bfc4c7c9611bc51119ca5c8e28f6582677516
Signed-off-by: Lubomir Rintel <lubo.rintel@gooddata.com>
Tested-by: Lubomir Rintel <lubo.rintel@gooddata.com>
BUG: 765508
Reviewed-on: http://review.gluster.com/668
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.c')
0 files changed, 0 insertions, 0 deletions