From: Jeff Layton Date: Thu, 8 Dec 2016 19:24:04 +0000 (-0500) Subject: client: drop correct caps when setting btime X-Git-Tag: v11.1.1~22^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6b7e39e4efc8238bd837a4aea41202a517127fbf;p=ceph.git client: drop correct caps when setting btime btime lives under auth caps, but the client drops file caps when setting it. Change it to drop auth caps instead. Signed-off-by: Jeff Layton --- diff --git a/src/client/Client.cc b/src/client/Client.cc index 3638863e81e..129b47f0f1b 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -6586,6 +6586,10 @@ force_request: req->inode_drop |= CEPH_CAP_AUTH_SHARED; ldout(cct,10) << "changing gid to " << stx->stx_gid << dendl; } + if (mask & CEPH_SETATTR_BTIME) { + req->head.args.setattr.btime = utime_t(stx->stx_btime); + req->inode_drop |= CEPH_CAP_AUTH_SHARED; + } if (mask & CEPH_SETATTR_MTIME) { req->head.args.setattr.mtime = utime_t(stx->stx_mtime); req->inode_drop |= CEPH_CAP_AUTH_SHARED | CEPH_CAP_FILE_RD | @@ -6596,11 +6600,6 @@ force_request: req->inode_drop |= CEPH_CAP_FILE_CACHE | CEPH_CAP_FILE_RD | CEPH_CAP_FILE_WR; } - if (mask & CEPH_SETATTR_BTIME) { - req->head.args.setattr.btime = utime_t(stx->stx_btime); - req->inode_drop |= CEPH_CAP_FILE_CACHE | CEPH_CAP_FILE_RD | - CEPH_CAP_FILE_WR; - } if (mask & CEPH_SETATTR_SIZE) { if ((unsigned long)stx->stx_size < mdsmap->get_max_filesize()) { req->head.args.setattr.size = stx->stx_size;