From 8cf5aea9e4e939aecb47bb3704fd9cc4ec0d0614 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 27 Feb 2008 15:44:18 -0800 Subject: [PATCH] mds: truncate fixes --- src/mds/Server.cc | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index b498b269b8ece..0634e012d0419 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -3719,12 +3719,6 @@ public: void finish(int r) { assert(r == 0); - // apply to cache - in->inode.size = size; - in->inode.ctime = ctime; - in->inode.mtime = ctime; - in->mark_dirty(pv, mdr->ls); - // reply mds->server->reply_request(mdr, 0); } @@ -3745,6 +3739,12 @@ public: void finish(int r) { assert(r == 0); + // apply to cache + in->inode.size = size; + in->inode.ctime = ctime; + in->inode.mtime = ctime; + in->pop_and_dirty_projected_inode(mdr->ls); + // purge mds->mdcache->purge_inode(in, size, in->inode.size, mdr->ls); mds->mdcache->wait_for_purge(in, size, @@ -3911,12 +3911,6 @@ public: void finish(int r) { assert(r == 0); - // apply to cache - in->inode.size = 0; - in->inode.ctime = ctime; - in->inode.mtime = ctime; - in->mark_dirty(pv, mdr->ls); - // do the open mds->server->_do_open(mdr, in); } @@ -3936,6 +3930,12 @@ public: void finish(int r) { assert(r == 0); + // apply to cache + in->inode.size = 0; + in->inode.ctime = ctime; + in->inode.mtime = ctime; + in->pop_and_dirty_projected_inode(mdr->ls); + // hit pop mds->balancer->hit_inode(mdr->now, in, META_POP_IWR); -- 2.39.5