diff options
author | Chengguang Xu <cgxu519@gmx.com> | 2018-07-30 23:55:36 +0800 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2018-10-22 10:28:19 +0200 |
commit | 3167893ae60e847b5a44d582fedb544cd0ae7ef5 (patch) | |
tree | 4919d6e5873983578d43b0d33b6396b56a955d01 /fs/ceph | |
parent | 84df9525b0c27f3ebc2ebb1864fa62a97fdedb7d (diff) | |
download | linux-3167893ae60e847b5a44d582fedb544cd0ae7ef5.tar.gz linux-3167893ae60e847b5a44d582fedb544cd0ae7ef5.tar.bz2 linux-3167893ae60e847b5a44d582fedb544cd0ae7ef5.zip |
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>
Diffstat (limited to 'fs/ceph')
-rw-r--r-- | fs/ceph/caps.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index dd7dfdd2ba13..b26ae1673992 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c @@ -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); |