btrfs: use list_for_each_entry_safe() when delete items
PATCH 1/1 btrfs: use list_for_each_entry_safe() when delete items
Replace list_for_each_entry() by list_for_each_entry_safe() in next functions:
- lock_stripe_add()
- __btrfs_close_devices()
Signed-off-by Azat Khuzhin <[email protected]>
--- fs/btrfs/raid56.c | 4 ++-- fs/btrfs/volumes.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
fs/btrfs/raid56.c +2 -2
@@ -636,7 +636,7 @@ static noinline int lock_stripe_add(struct btrfs_raid_bio *rbio) {int bucket =rbio_bucket (rbio);struct btrfs_stripe_hash *h = rbio->fs_info->stripe_hash_table->table + bucket; -struct btrfs_raid_bio *cur; +struct btrfs_raid_bio *cur, *next;struct btrfs_raid_bio *pending;unsigned long flags;DEFINE_WAIT (wait);
@@ -646,7 +646,7 @@ static noinline int lock_stripe_add(struct btrfs_raid_bio *rbio)int walk =0 ;spin_lock_irqsave (&h->lock, flags); -list_for_each_entry (cur, &h->hash_list, hash_list) { +list_for_each_entry_safe (cur, next, &h->hash_list, hash_list) { walk++;if (cur->raid_map[0 ] == rbio->raid_map[0 ]) {spin_lock (&cur->bio_list_lock);
fs/btrfs/volumes.c +2 -2
@@ -616,13 +616,13 @@ static void free_device(struct rcu_head *head)static int __btrfs_close_devices (struct btrfs_fs_devices *fs_devices) { -struct btrfs_device *device; +struct btrfs_device *device, *next;if (--fs_devices->opened >0 )return 0 ;mutex_lock (&fs_devices->device_list_mutex); -list_for_each_entry (device, &fs_devices->devices, dev_list) { +list_for_each_entry_safe (device, next, &fs_devices->devices, dev_list) {struct btrfs_device *new_device;struct rcu_string *name;
Signature · 1 line
1.7.10.4