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:
Denis Cheng 2007-10-16 23:26:14 -07:00 committed by Linus Torvalds
parent 04fc8bbcf5
commit d2c9740b49

View File

@ -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);