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

ceph: re-request max_size if cap auth changes



If the auth cap migrates to another MDS, clear requested_max_size so that
we resend any pending max_size increase requests.  This fixes potential
hangs on writes that extend a file and race with an cap migration between
MDSs.

Signed-off-by: default avatarSage Weil <sage@newdream.net>
parent 912a9b03
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -2689,6 +2689,11 @@ static void handle_cap_import(struct ceph_mds_client *mdsc,
		     NULL /* no caps context */);
	try_flush_caps(inode, session, NULL);
	up_read(&mdsc->snap_rwsem);

	/* make sure we re-request max_size, if necessary */
	spin_lock(&inode->i_lock);
	ci->i_requested_max_size = 0;
	spin_unlock(&inode->i_lock);
}

/*