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>
                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;
 }
 
        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.