]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: update mtime on truncation!
authorSage Weil <sage@newdream.net>
Fri, 25 Sep 2009 22:29:59 +0000 (15:29 -0700)
committerSage Weil <sage@newdream.net>
Fri, 25 Sep 2009 22:29:59 +0000 (15:29 -0700)
This didn't affect the kclient before for some reason, but it does
get the uclient.  Fix it.

src/mds/Server.cc

index 117758621b5bf3ac67a6841aa007936ef29b4b72..b86a3f8d1584c38517479c93460ebd92e0e4f26d 100644 (file)
@@ -2430,6 +2430,8 @@ void Server::handle_client_setattr(MDRequest *mdr)
 
   pi = cur->project_inode();
 
+  utime_t now = g_clock.real_now();
+
   if (mask & CEPH_SETATTR_MODE)
     pi->mode = (pi->mode & ~07777) | (req->head.args.setattr.mode & 07777);
   if (mask & CEPH_SETATTR_UID)
@@ -2454,6 +2456,7 @@ void Server::handle_client_setattr(MDRequest *mdr)
       pi->size = req->head.args.setattr.size;
     }
     pi->rstat.rbytes = pi->size;
+    pi->mtime = now;
 
     // adjust client's max_size?
     map<client_t,byte_range_t> new_ranges;
@@ -2466,7 +2469,7 @@ void Server::handle_client_setattr(MDRequest *mdr)
   }
 
   pi->version = cur->pre_dirty();
-  pi->ctime = g_clock.real_now();
+  pi->ctime = now;
 
   // log + wait
   le->metablob.add_client_req(req->get_reqid());