xfs: move setting bt_logical_sectorsize out of xfs_setsize_buftarg
authorChristoph Hellwig <hch@lst.de>
Thu, 22 Feb 2024 20:42:45 +0000 (12:42 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Thu, 22 Feb 2024 20:42:45 +0000 (12:42 -0800)
bt_logical_sectorsize and the associated mask is set based on the
constant logical block size in the block_device structure and thus
doesn't need to be updated in xfs_setsize_buftarg.  Move it into
xfs_alloc_buftarg so that it is only done once per buftarg.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
fs/xfs/xfs_buf.c

index e83cadea239f3a26ec37cb16851ad4dfe09131d7..ff243e3176a5b09c494efd7f1280d1cecbe65039 100644 (file)
@@ -1994,10 +1994,6 @@ xfs_setsize_buftarg(
                return -EINVAL;
        }
 
-       /* Set up device logical sector size mask */
-       btp->bt_logical_sectorsize = bdev_logical_block_size(btp->bt_bdev);
-       btp->bt_logical_sectormask = bdev_logical_block_size(btp->bt_bdev) - 1;
-
        return 0;
 }
 
@@ -2028,6 +2024,10 @@ xfs_alloc_buftarg(
        if (xfs_setsize_buftarg(btp, bdev_logical_block_size(btp->bt_bdev)))
                goto error_free;
 
+       /* Set up device logical sector size mask */
+       btp->bt_logical_sectorsize = bdev_logical_block_size(btp->bt_bdev);
+       btp->bt_logical_sectormask = bdev_logical_block_size(btp->bt_bdev) - 1;
+
        /*
         * Buffer IO error rate limiting. Limit it to no more than 10 messages
         * per 30 seconds so as to not spam logs too much on repeated errors.