mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 08:44:21 +08:00
ceph: trigger the reclaim work once there has enough pending caps
The nr in ceph_reclaim_caps_nr() is very possibly larger than 1, so we may miss it and the reclaim work couldn't triggered as expected. Signed-off-by: Xiubo Li <xiubli@redhat.com> Reviewed-by: "Yan, Zheng" <zyan@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
parent
3a3430affc
commit
bba1560bd4
@ -2015,7 +2015,7 @@ void ceph_reclaim_caps_nr(struct ceph_mds_client *mdsc, int nr)
|
|||||||
if (!nr)
|
if (!nr)
|
||||||
return;
|
return;
|
||||||
val = atomic_add_return(nr, &mdsc->cap_reclaim_pending);
|
val = atomic_add_return(nr, &mdsc->cap_reclaim_pending);
|
||||||
if (!(val % CEPH_CAPS_PER_RELEASE)) {
|
if ((val % CEPH_CAPS_PER_RELEASE) < nr) {
|
||||||
atomic_set(&mdsc->cap_reclaim_pending, 0);
|
atomic_set(&mdsc->cap_reclaim_pending, 0);
|
||||||
ceph_queue_cap_reclaim_work(mdsc);
|
ceph_queue_cap_reclaim_work(mdsc);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user