]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: more scatter fiddling
authorSage Weil <sage@newdream.net>
Tue, 3 Jun 2008 20:13:58 +0000 (13:13 -0700)
committerSage Weil <sage@newdream.net>
Tue, 3 Jun 2008 20:13:58 +0000 (13:13 -0700)
src/TODO
src/mds/Locker.cc

index 4e9f839f9b4be4dbd686126d316810b3580d570e..31c93d9ec9c78f500012c7209aa3676a5eb2ea4e 100644 (file)
--- a/src/TODO
+++ b/src/TODO
@@ -12,6 +12,7 @@ big items
 - use libuuid
 
 userspace client
+- handle session STALE
 - rm -rf on fragmented directory
 - time out caps, wake up waiters on renewal
   - link caps with mds session
index de3c18e92c76384d988e2e52a43b5dfed1af3a65..ca0787a86c7ae9d6515dbde477a0892cbc44163a 100644 (file)
@@ -2324,6 +2324,8 @@ void Locker::scatter_writebehind(ScatterLock *lock)
   pi->version = in->pre_dirty();
   lock->get_parent()->finish_scatter_gather_update(lock->get_type());
   
+  lock->clear_updated();
+
   EUpdate *le = new EUpdate(mds->mdlog, "scatter_writebehind");
   predirty_nested(mut, &le->metablob, in, 0, true, false);
   le->metablob.add_primary_dentry(in->get_parent_dn(), true, 0, pi);
@@ -2338,7 +2340,6 @@ void Locker::scatter_writebehind_finish(ScatterLock *lock, Mutation *mut)
   dout(10) << "scatter_writebehind_finish on " << *lock << " on " << *in << dendl;
   in->pop_and_dirty_projected_inode(mut->ls);
   mut->apply();
-  lock->clear_updated();
   drop_locks(mut);
   //scatter_eval_gather(lock);
 }