]> www.infradead.org Git - users/hch/block.git/commitdiff
btrfs: no need to grab a reference to disk->part0
authorChristoph Hellwig <hch@lst.de>
Tue, 29 Jun 2021 11:41:21 +0000 (13:41 +0200)
committerChristoph Hellwig <hch@lst.de>
Wed, 21 Jul 2021 06:32:07 +0000 (08:32 +0200)
The struct block_device for the whole disk will not be freed while
the disk in use, so don't bother to grab a reference to it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
fs/btrfs/zoned.c

index 297c0b1c0634d1d9780a421fa7247d0dc950cc08..21c5654967b0868cc6122fa399166683873b99da 100644 (file)
@@ -1362,20 +1362,16 @@ void btrfs_rewrite_logical_zoned(struct btrfs_ordered_extent *ordered)
        struct extent_map_tree *em_tree;
        struct extent_map *em;
        struct btrfs_ordered_sum *sum;
-       struct block_device *bdev;
        u64 orig_logical = ordered->disk_bytenr;
        u64 *logical = NULL;
        int nr, stripe_len;
 
        /* Zoned devices should not have partitions. So, we can assume it is 0 */
        ASSERT(ordered->partno == 0);
-       bdev = bdgrab(ordered->disk->part0);
-       if (WARN_ON(!bdev))
-               return;
 
-       if (WARN_ON(btrfs_rmap_block(fs_info, orig_logical, bdev,
-                                    ordered->physical, &logical, &nr,
-                                    &stripe_len)))
+       if (WARN_ON(btrfs_rmap_block(fs_info, orig_logical,
+                       ordered->disk->part0, ordered->physical, &logical,
+                       &nr, &stripe_len)))
                goto out;
 
        WARN_ON(nr != 1);
@@ -1402,7 +1398,6 @@ void btrfs_rewrite_logical_zoned(struct btrfs_ordered_extent *ordered)
 
 out:
        kfree(logical);
-       bdput(bdev);
 }
 
 bool btrfs_check_meta_write_pointer(struct btrfs_fs_info *fs_info,