diff --git a/fs/block_dev.c b/fs/block_dev.c index b3e9bfa748cf99971567913492428524aa847e2b..da5f0515e8eba4dfb4faee5885f5932a4c836fb8 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c @@ -588,12 +588,10 @@ EXPORT_SYMBOL(bdget); long nr_blockdev_pages(void) { - struct list_head *p; + struct block_device *bdev; long ret = 0; spin_lock(&bdev_lock); - list_for_each(p, &all_bdevs) { - struct block_device *bdev; - bdev = list_entry(p, struct block_device, bd_list); + list_for_each_entry(bdev, &all_bdevs, bd_list) { ret += bdev->bd_inode->i_mapping->nrpages; } spin_unlock(&bdev_lock);