mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 06:02:05 +00:00
ceph: reset cap hold timeout only for requeued inode
__cap_delay_requeue() only requeue inode which does not have CEPH_I_FLUSH flag, so avoid reset cap hold timeout for that inode. Signed-off-by: Chengguang Xu <cgxu519@gmx.com> Reviewed-by: "Yan, Zheng" <zyan@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
parent
84df9525b0
commit
3167893ae6
@ -521,7 +521,6 @@ static void __cap_set_timeouts(struct ceph_mds_client *mdsc,
|
||||
static void __cap_delay_requeue(struct ceph_mds_client *mdsc,
|
||||
struct ceph_inode_info *ci)
|
||||
{
|
||||
__cap_set_timeouts(mdsc, ci);
|
||||
dout("__cap_delay_requeue %p flags %d at %lu\n", &ci->vfs_inode,
|
||||
ci->i_ceph_flags, ci->i_hold_caps_max);
|
||||
if (!mdsc->stopping) {
|
||||
@ -531,6 +530,7 @@ static void __cap_delay_requeue(struct ceph_mds_client *mdsc,
|
||||
goto no_change;
|
||||
list_del_init(&ci->i_cap_delay_list);
|
||||
}
|
||||
__cap_set_timeouts(mdsc, ci);
|
||||
list_add_tail(&ci->i_cap_delay_list, &mdsc->cap_delay_list);
|
||||
no_change:
|
||||
spin_unlock(&mdsc->cap_delay_lock);
|
||||
|
Loading…
Reference in New Issue
Block a user