diff options
author | Sage Weil <sage@newdream.net> | 2010-09-14 15:50:59 -0700 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2010-09-14 15:50:59 -0700 |
commit | cfc0bf6640dfd0f43bf8bfec5a475284809baa4d (patch) | |
tree | 63ee1563bc9b844c48684e57ad03bc3c023014a2 | |
parent | 8bef9239ee1a42eb37d3f83bacf6a75f019c028d (diff) | |
download | op-kernel-dev-cfc0bf6640dfd0f43bf8bfec5a475284809baa4d.zip op-kernel-dev-cfc0bf6640dfd0f43bf8bfec5a475284809baa4d.tar.gz |
ceph: stop sending FLUSHSNAPs when we hit a dirty capsnap
Stop sending FLUSHSNAP messages when we hit a capsnap that has dirty_pages
or is still writing. We'll send the newer capsnaps only after the older
ones complete.
Signed-off-by: Sage Weil <sage@newdream.net>
-rw-r--r-- | fs/ceph/caps.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index a2069b6..9fbe901 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c @@ -1227,7 +1227,7 @@ retry: * pages to be written out. */ if (capsnap->dirty_pages || capsnap->writing) - continue; + break; /* * if cap writeback already occurred, we should have dropped @@ -1276,8 +1276,8 @@ retry: &session->s_cap_snaps_flushing); spin_unlock(&inode->i_lock); - dout("flush_snaps %p cap_snap %p follows %lld size %llu\n", - inode, capsnap, next_follows, capsnap->size); + dout("flush_snaps %p cap_snap %p follows %lld tid %llu\n", + inode, capsnap, capsnap->follows, capsnap->flush_tid); send_cap_msg(session, ceph_vino(inode).ino, 0, CEPH_CAP_OP_FLUSHSNAP, capsnap->issued, 0, capsnap->dirty, 0, capsnap->flush_tid, 0, mseq, |