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>
This commit is contained in:
parent
8bef9239ee
commit
cfc0bf6640
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue