]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client: update ctime for auth, xattr
authorSage Weil <sage@newdream.net>
Mon, 16 May 2011 21:47:29 +0000 (14:47 -0700)
committerSage Weil <sage@newdream.net>
Mon, 16 May 2011 21:47:29 +0000 (14:47 -0700)
This mirrors the kclient fix in d8672d64.  The client can have a newer
ctime due to auth or xattr excl caps.  This fixes cases where ctime goes
backwards due to the right sequence of local operations and replies
from the MDS.

Signed-off-by: Sage Weil <sage@newdream.net>
src/client/Client.cc

index 0787ce673aa80ecacce19e1a36e43ef61721189d..e4b400c1970c4e3a5d89e29a6feca5cd3eae0fa9 100644 (file)
@@ -402,7 +402,9 @@ void Client::update_inode_file_bits(Inode *in,
   // be careful with size, mtime, atime
   if (issued & (CEPH_CAP_FILE_EXCL|
                CEPH_CAP_FILE_WR|
-               CEPH_CAP_FILE_BUFFER)) {
+               CEPH_CAP_FILE_BUFFER|
+               CEPH_CAP_AUTH_EXCL|
+               CEPH_CAP_XATTR_EXCL)) {
     dout(30) << "Yay have enough caps to look at our times" << dendl;
     if (ctime > in->ctime) 
       in->ctime = ctime;