Commit d2c9740b authored by Denis Cheng's avatar Denis Cheng Committed by Linus Torvalds

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: default avatarDenis Cheng <crquan@gmail.com>
Cc: Paul Clements <paul.clements@steeleye.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 04fc8bbc
...@@ -233,8 +233,7 @@ static int nbd_send_req(struct nbd_device *lo, struct request *req) ...@@ -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) static struct request *nbd_find_request(struct nbd_device *lo, char *handle)
{ {
struct request *req; struct request *req, *tmp;
struct list_head *tmp;
struct request *xreq; struct request *xreq;
int err; int err;
...@@ -245,8 +244,7 @@ static struct request *nbd_find_request(struct nbd_device *lo, char *handle) ...@@ -245,8 +244,7 @@ static struct request *nbd_find_request(struct nbd_device *lo, char *handle)
goto out; goto out;
spin_lock(&lo->queue_lock); spin_lock(&lo->queue_lock);
list_for_each(tmp, &lo->queue_head) { list_for_each_entry_safe(req, tmp, &lo->queue_head, queuelist) {
req = list_entry(tmp, struct request, queuelist);
if (req != xreq) if (req != xreq)
continue; continue;
list_del_init(&req->queuelist); list_del_init(&req->queuelist);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment