Commit c50245d5 authored by Yan, Zheng's avatar Yan, Zheng Committed by Juerg Haefliger

ceph: don't update importing cap's mseq when handing cap export

BugLink: https://bugs.launchpad.net/bugs/1811647

commit 3c1392d4 upstream.

Updating mseq makes client think importer mds has accepted all prior
cap messages and importer mds knows what caps client wants. Actually
some cap messages may have been dropped because of mseq mismatch.

If mseq is left untouched, importing cap's mds_wanted later will get
reset by cap import message.

Cc: stable@vger.kernel.org
Signed-off-by: default avatar"Yan, Zheng" <zyan@redhat.com>
Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarJuerg Haefliger <juergh@canonical.com>
Signed-off-by: default avatarStefan Bader <stefan.bader@canonical.com>
parent f0adec83
...@@ -3243,7 +3243,6 @@ static void handle_cap_export(struct inode *inode, struct ceph_mds_caps *ex, ...@@ -3243,7 +3243,6 @@ static void handle_cap_export(struct inode *inode, struct ceph_mds_caps *ex,
tcap->cap_id = t_cap_id; tcap->cap_id = t_cap_id;
tcap->seq = t_seq - 1; tcap->seq = t_seq - 1;
tcap->issue_seq = t_seq - 1; tcap->issue_seq = t_seq - 1;
tcap->mseq = t_mseq;
tcap->issued |= issued; tcap->issued |= issued;
tcap->implemented |= issued; tcap->implemented |= issued;
if (cap == ci->i_auth_cap) if (cap == ci->i_auth_cap)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment