btrfs: raid56: use list_last_entry() at cache_rbio()
authorFilipe Manana <fdmanana@suse.com>
Thu, 1 May 2025 11:54:03 +0000 (12:54 +0100)
committerDavid Sterba <dsterba@suse.com>
Thu, 15 May 2025 12:30:54 +0000 (14:30 +0200)
Instead of using list_entry() against the list's prev entry, use
list_last_entry(), which removes the need to know the last member is
accessed through the prev list pointer and the naming makes it easier
to reason about what we are doing.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/raid56.c

index 8d617075ad6a1a5e8119ba4679fd8293179e63d4..3ff2bedfb3a4c9a20f06d684d33a66d7ee20fb1c 100644 (file)
@@ -577,9 +577,9 @@ static void cache_rbio(struct btrfs_raid_bio *rbio)
        if (table->cache_size > RBIO_CACHE_SIZE) {
                struct btrfs_raid_bio *found;
 
-               found = list_entry(table->stripe_cache.prev,
-                                 struct btrfs_raid_bio,
-                                 stripe_cache);
+               found = list_last_entry(&table->stripe_cache,
+                                       struct btrfs_raid_bio,
+                                       stripe_cache);
 
                if (found != rbio)
                        __remove_rbio_from_cache(found);