Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cfc0bf66 authored by Sage Weil's avatar Sage Weil
Browse files

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: default avatarSage Weil <sage@newdream.net>
parent 8bef9239
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1227,7 +1227,7 @@ void __ceph_flush_snaps(struct ceph_inode_info *ci,
		 * 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 @@ void __ceph_flush_snaps(struct ceph_inode_info *ci,
			      &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,