From 144fc725951791aa324eb4503cf9bc2507a2a836 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh-Weinraub Date: Tue, 8 Apr 2008 16:25:38 +0300 Subject: [PATCH] kclient: some more ctime changes --- src/kernel/inode.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/kernel/inode.c b/src/kernel/inode.c index 20b77a2570754..677ed52063e05 100644 --- a/src/kernel/inode.c +++ b/src/kernel/inode.c @@ -1213,8 +1213,12 @@ int ceph_setattr(struct dentry *dentry, struct iattr *attr) /* do i hold CAP_EXCL? */ if (ceph_caps_issued(ci) & CEPH_CAP_EXCL) { dout(10, "utime holding EXCL, doing locally\n"); - inode->i_atime = attr->ia_atime; - inode->i_mtime = attr->ia_mtime; + if (ia_valid & ATTR_ATIME) + inode->i_atime = attr->ia_atime; + if (ia_valid & ATTR_MTIME) + inode->i_mtime = attr->ia_mtime; + if (ia_valid & ATTR_CTIME) + inode->i_ctime = attr->ia_ctime; return 0; } if (ceph_inode_lease_valid(inode, CEPH_LOCK_ICONTENT) && -- 2.39.5