mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 19:56:18 +00:00
sunrpc/cache: use list_del_init for the list_head entries in cache_deferred_req
Using list_del_init is generally safer than list_del, and it will allow us, in a subsequent patch, to see if an entry has already been processed or not. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
This commit is contained in:
parent
c0826574dd
commit
67e7328f15
1 changed files with 4 additions and 4 deletions
|
@ -529,8 +529,8 @@ static int cache_defer_req(struct cache_req *req, struct cache_head *item)
|
||||||
if (++cache_defer_cnt > DFR_MAX) {
|
if (++cache_defer_cnt > DFR_MAX) {
|
||||||
dreq = list_entry(cache_defer_list.prev,
|
dreq = list_entry(cache_defer_list.prev,
|
||||||
struct cache_deferred_req, recent);
|
struct cache_deferred_req, recent);
|
||||||
list_del(&dreq->recent);
|
list_del_init(&dreq->recent);
|
||||||
list_del(&dreq->hash);
|
list_del_init(&dreq->hash);
|
||||||
cache_defer_cnt--;
|
cache_defer_cnt--;
|
||||||
}
|
}
|
||||||
spin_unlock(&cache_defer_lock);
|
spin_unlock(&cache_defer_lock);
|
||||||
|
@ -564,7 +564,7 @@ static void cache_revisit_request(struct cache_head *item)
|
||||||
dreq = list_entry(lp, struct cache_deferred_req, hash);
|
dreq = list_entry(lp, struct cache_deferred_req, hash);
|
||||||
lp = lp->next;
|
lp = lp->next;
|
||||||
if (dreq->item == item) {
|
if (dreq->item == item) {
|
||||||
list_del(&dreq->hash);
|
list_del_init(&dreq->hash);
|
||||||
list_move(&dreq->recent, &pending);
|
list_move(&dreq->recent, &pending);
|
||||||
cache_defer_cnt--;
|
cache_defer_cnt--;
|
||||||
}
|
}
|
||||||
|
@ -590,7 +590,7 @@ void cache_clean_deferred(void *owner)
|
||||||
|
|
||||||
list_for_each_entry_safe(dreq, tmp, &cache_defer_list, recent) {
|
list_for_each_entry_safe(dreq, tmp, &cache_defer_list, recent) {
|
||||||
if (dreq->owner == owner) {
|
if (dreq->owner == owner) {
|
||||||
list_del(&dreq->hash);
|
list_del_init(&dreq->hash);
|
||||||
list_move(&dreq->recent, &pending);
|
list_move(&dreq->recent, &pending);
|
||||||
cache_defer_cnt--;
|
cache_defer_cnt--;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue