diff options
author | Sage Weil <sage@inktank.com> | 2012-11-22 13:53:29 -0800 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2012-11-22 13:53:29 -0800 |
commit | 1c715a11f70788d987c16aa67ce2b6f32c04a673 (patch) | |
tree | 6a6ed2f88b91eb37ab1b445f8bd21b5abd5f2107 | |
parent | 55081c2bea0a918946dab1805334c73b8d01cd47 (diff) | |
download | ceph-1c715a11f70788d987c16aa67ce2b6f32c04a673.tar.gz |
mds: child directory inherits SGID bit
Update the inode, not the local variable.
Reported-by: Giorgos Kappes <geokapp@gmail.com>
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r-- | src/mds/Server.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 4642a1346ff..b0fd9ec0c15 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -1754,7 +1754,7 @@ CInode* Server::prepare_new_inode(MDRequest *mdr, CDir *dir, inodeno_t useino, u in->inode.gid = diri->inode.gid; if (S_ISDIR(mode)) { dout(10) << " new dir also sticky" << dendl; - mode |= S_ISGID; + in->inode.mode |= S_ISGID; } } else in->inode.gid = mdr->client_request->get_caller_gid(); |