diff --git a/[refs] b/[refs] index b81d8bb4352d..fd481ce385b7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a66f8c97a31fd7b2cfd7b86d4789858dbfbedffb +refs/heads/master: a05932905695f8c6c06d353ecd52c8e5d607cc77 diff --git a/trunk/drivers/block/rbd.c b/trunk/drivers/block/rbd.c index b9895feda5ee..74e6a3329706 100644 --- a/trunk/drivers/block/rbd.c +++ b/trunk/drivers/block/rbd.c @@ -1692,11 +1692,10 @@ static int rbd_header_add_snap(struct rbd_device *rbd_dev, static void __rbd_remove_all_snaps(struct rbd_device *rbd_dev) { struct rbd_snap *snap; + struct rbd_snap *next; - while (!list_empty(&rbd_dev->snaps)) { - snap = list_first_entry(&rbd_dev->snaps, struct rbd_snap, node); + list_for_each_entry_safe(snap, next, &rbd_dev->snaps, node) __rbd_remove_snap_dev(rbd_dev, snap); - } } /*