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

Commit 390306c3 authored by Yan, Zheng's avatar Yan, Zheng Committed by Alex Elder
Browse files

ceph: check mds_wanted for imported cap



The MDS may have incorrect wanted caps after importing caps. So the
client should check the value mds has and send cap update if necessary.

Signed-off-by: default avatarYan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: default avatarSage Weil <sage@inktank.com>
parent 66f58691
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -2429,7 +2429,9 @@ static void handle_cap_grant(struct inode *inode, struct ceph_mds_caps *grant,
		dout("mds wanted %s -> %s\n",
		     ceph_cap_string(le32_to_cpu(grant->wanted)),
		     ceph_cap_string(wanted));
		grant->wanted = cpu_to_le32(wanted);
		/* imported cap may not have correct mds_wanted */
		if (le32_to_cpu(grant->op) == CEPH_CAP_OP_IMPORT)
			check_caps = 1;
	}

	cap->seq = seq;