From 797d50facb688561357f3b14105fc18b994764c9 Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Thu, 24 Sep 2009 11:47:34 -0700 Subject: [PATCH] uclient: Update ctime one setattr changes --- src/client/Client.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/client/Client.cc b/src/client/Client.cc index 4a0c94862dbea..a3d0b6108970e 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -3325,16 +3325,19 @@ int Client::_setattr(Inode *in, struct stat_precise *attr, int mask, int uid, in // make the change locally? if (in->caps_issued_mask(CEPH_CAP_AUTH_EXCL)) { if (mask & CEPH_SETATTR_MODE) { + in->ctime = g_clock.now(); in->mode = (in->mode & ~07777) | (attr->st_mode & 07777); mark_caps_dirty(in, CEPH_CAP_AUTH_EXCL); mask &= ~CEPH_SETATTR_MODE; } if (mask & CEPH_SETATTR_UID) { + in->ctime = g_clock.now(); in->uid = attr->st_uid; mark_caps_dirty(in, CEPH_CAP_AUTH_EXCL); mask &= ~CEPH_SETATTR_UID; } if (mask & CEPH_SETATTR_GID) { + in->ctime = g_clock.now(); in->gid = attr->st_gid; mark_caps_dirty(in, CEPH_CAP_AUTH_EXCL); mask &= ~CEPH_SETATTR_GID; @@ -3346,6 +3349,7 @@ int Client::_setattr(Inode *in, struct stat_precise *attr, int mask, int uid, in in->mtime = utime_t(attr->st_mtime_sec, attr->st_mtime_micro); if (mask & CEPH_SETATTR_ATIME) in->atime = utime_t(attr->st_atime_sec, attr->st_atime_micro); + in->ctime = g_clock.now(); in->time_warp_seq++; mark_caps_dirty(in, CEPH_CAP_FILE_EXCL); mask &= ~(CEPH_SETATTR_MTIME|CEPH_SETATTR_ATIME); -- 2.39.5