Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1822193b authored by Jan Kara's avatar Jan Kara
Browse files

quota: Cleanup list iteration in dqcache_shrink_scan()



Use list_first_entry() and list_empty() instead of opencoded variants.

Reviewed-by: default avatarMatthew Wilcox <mawilcox@microsoft.com>
Signed-off-by: default avatarJan Kara <jack@suse.cz>
parent 9560ba30
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -711,21 +711,18 @@ EXPORT_SYMBOL(dquot_quota_sync);
static unsigned long
dqcache_shrink_scan(struct shrinker *shrink, struct shrink_control *sc)
{
	struct list_head *head;
	struct dquot *dquot;
	unsigned long freed = 0;

	spin_lock(&dq_list_lock);
	head = free_dquots.next;
	while (head != &free_dquots && sc->nr_to_scan) {
		dquot = list_entry(head, struct dquot, dq_free);
	while (!list_empty(&free_dquots) && sc->nr_to_scan) {
		dquot = list_first_entry(&free_dquots, struct dquot, dq_free);
		remove_dquot_hash(dquot);
		remove_free_dquot(dquot);
		remove_inuse(dquot);
		do_destroy_dquot(dquot);
		sc->nr_to_scan--;
		freed++;
		head = free_dquots.next;
	}
	spin_unlock(&dq_list_lock);
	return freed;