浏览代码

rbd: simplify __rbd_remove_all_snaps()

This just replaces a while loop with list_for_each_entry_safe()
in __rbd_remove_all_snaps().

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Alex Elder 13 年之前
父节点
当前提交
a059329056
共有 1 个文件被更改,包括 2 次插入3 次删除
  1. 2 3
      drivers/block/rbd.c

+ 2 - 3
drivers/block/rbd.c

@@ -1692,11 +1692,10 @@ bad:
 static void __rbd_remove_all_snaps(struct rbd_device *rbd_dev)
 static void __rbd_remove_all_snaps(struct rbd_device *rbd_dev)
 {
 {
 	struct rbd_snap *snap;
 	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);
 		__rbd_remove_snap_dev(rbd_dev, snap);
-	}
 }
 }
 
 
 /*
 /*