mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-03-20 22:15:59 +00:00
ceph: fix message order check in handle_cap_export()
If caps for importer mds exists, but cap id mismatch, client should have received corresponding import message. Because cap ID does not change as long as client holds the caps. Signed-off-by: "Yan, Zheng" <zyan@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
parent
c858a0709f
commit
fa0aa3b839
1 changed files with 1 additions and 1 deletions
|
@ -3427,7 +3427,7 @@ retry:
|
||||||
tcap = __get_cap_for_mds(ci, target);
|
tcap = __get_cap_for_mds(ci, target);
|
||||||
if (tcap) {
|
if (tcap) {
|
||||||
/* already have caps from the target */
|
/* already have caps from the target */
|
||||||
if (tcap->cap_id != t_cap_id ||
|
if (tcap->cap_id == t_cap_id &&
|
||||||
ceph_seq_cmp(tcap->seq, t_seq) < 0) {
|
ceph_seq_cmp(tcap->seq, t_seq) < 0) {
|
||||||
dout(" updating import cap %p mds%d\n", tcap, target);
|
dout(" updating import cap %p mds%d\n", tcap, target);
|
||||||
tcap->cap_id = t_cap_id;
|
tcap->cap_id = t_cap_id;
|
||||||
|
|
Loading…
Add table
Reference in a new issue