nbd: use list_for_each_entry_safe to make it more consolidated and readable
Thus the traverse of the loop may delete nodes, use the safe version. Signed-off-by: Denis Cheng <crquan@gmail.com> Cc: Paul Clements <paul.clements@steeleye.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
04fc8bbcf5
commit
d2c9740b49
@ -233,8 +233,7 @@ static int nbd_send_req(struct nbd_device *lo, struct request *req)
|
||||
|
||||
static struct request *nbd_find_request(struct nbd_device *lo, char *handle)
|
||||
{
|
||||
struct request *req;
|
||||
struct list_head *tmp;
|
||||
struct request *req, *tmp;
|
||||
struct request *xreq;
|
||||
int err;
|
||||
|
||||
@ -245,8 +244,7 @@ static struct request *nbd_find_request(struct nbd_device *lo, char *handle)
|
||||
goto out;
|
||||
|
||||
spin_lock(&lo->queue_lock);
|
||||
list_for_each(tmp, &lo->queue_head) {
|
||||
req = list_entry(tmp, struct request, queuelist);
|
||||
list_for_each_entry_safe(req, tmp, &lo->queue_head, queuelist) {
|
||||
if (req != xreq)
|
||||
continue;
|
||||
list_del_init(&req->queuelist);
|
||||
|
Loading…
Reference in New Issue
Block a user