mirror of https://gitee.com/openkylin/linux.git
ceph: set mds_wanted when MDS reply changes a cap to auth cap
When adjusting caps client wants, MDS does not record caps that are not allowed. For non-auth MDS, it does not record WR caps. So when a MDS reply changes a non-auth cap to auth cap, client needs to set cap's mds_wanted according to the reply. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
This commit is contained in:
parent
eb13e832f8
commit
d9ffc4f770
|
@ -622,8 +622,10 @@ int ceph_add_cap(struct inode *inode,
|
|||
|
||||
if (flags & CEPH_CAP_FLAG_AUTH) {
|
||||
if (ci->i_auth_cap == NULL ||
|
||||
ceph_seq_cmp(ci->i_auth_cap->mseq, mseq) < 0)
|
||||
ceph_seq_cmp(ci->i_auth_cap->mseq, mseq) < 0) {
|
||||
ci->i_auth_cap = cap;
|
||||
cap->mds_wanted = wanted;
|
||||
}
|
||||
ci->i_cap_exporting_issued = 0;
|
||||
} else {
|
||||
WARN_ON(ci->i_auth_cap == cap);
|
||||
|
|
Loading…
Reference in New Issue