Message ID | 538E9EF5.40806@gmail.com |
---|---|
State | Not Applicable, archived |
Headers | show |
diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 51b5763..a94d464 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c @@ -702,6 +702,7 @@ dqcache_shrink_scan(struct shrinker *shrink, struct shrink_control *sc) struct dquot *dquot; unsigned long freed = 0; + spin_lock(&dq_list_lock); head = free_dquots.prev; while (head != &free_dquots && sc->nr_to_scan) { dquot = list_entry(head, struct dquot, dq_free); @@ -713,6 +714,7 @@ dqcache_shrink_scan(struct shrinker *shrink, struct shrink_control *sc) freed++; head = free_dquots.prev; } + spin_unlock(&dq_list_lock); return freed; }
dqcache_shrink_scan() should use dq_list_lock to protect the scan on free_dquots list. Signed-off-by: Niu Yawei <yawei.niu@intel.com> --- fs/quota/dquot.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)