|
@@ -2751,6 +2751,7 @@ static void handle_cap_import(struct ceph_mds_client *mdsc,
|
|
|
|
|
|
/* make sure we re-request max_size, if necessary */
|
|
|
spin_lock(&ci->i_ceph_lock);
|
|
|
+ ci->i_wanted_max_size = 0; /* reset */
|
|
|
ci->i_requested_max_size = 0;
|
|
|
spin_unlock(&ci->i_ceph_lock);
|
|
|
}
|
|
@@ -2846,8 +2847,6 @@ void ceph_handle_caps(struct ceph_mds_session *session,
|
|
|
case CEPH_CAP_OP_IMPORT:
|
|
|
handle_cap_import(mdsc, inode, h, session,
|
|
|
snaptrace, snaptrace_len);
|
|
|
- ceph_check_caps(ceph_inode(inode), 0, session);
|
|
|
- goto done_unlocked;
|
|
|
}
|
|
|
|
|
|
/* the rest require a cap */
|
|
@@ -2864,6 +2863,7 @@ void ceph_handle_caps(struct ceph_mds_session *session,
|
|
|
switch (op) {
|
|
|
case CEPH_CAP_OP_REVOKE:
|
|
|
case CEPH_CAP_OP_GRANT:
|
|
|
+ case CEPH_CAP_OP_IMPORT:
|
|
|
handle_cap_grant(inode, h, session, cap, msg->middle);
|
|
|
goto done_unlocked;
|
|
|
|