From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Coly Li <colyli@suse.de>, Mike Snitzer <snitzer@redhat.com>,
Song Liu <song@kernel.org>, David Sterba <dsterba@suse.com>,
Josef Bacik <josef@toxicpanda.com>,
"Theodore Ts'o" <tytso@mit.edu>,
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>,
Dave Kleikamp <shaggy@kernel.org>,
Ryusuke Konishi <konishi.ryusuke@gmail.com>,
Anton Altaparmakov <anton@tuxera.com>,
Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
Kees Cook <keescook@chromium.org>,
Phillip Lougher <phillip@squashfs.org.uk>,
Jan Kara <jack@suse.com>,
linux-block@vger.kernel.org, dm-devel@redhat.com,
drbd-dev@lists.linbit.com, linux-bcache@vger.kernel.org,
linux-raid@vger.kernel.org, linux-mtd@lists.infradead.org,
linux-nvme@lists.infradead.org, linux-scsi@vger.kernel.org,
target-devel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-btrfs@vger.kernel.org, linux-ext4@vger.kernel.org,
jfs-discussion@lists.sourceforge.net, linux-nfs@vger.kernel.org,
linux-nilfs@vger.kernel.org,
linux-ntfs-dev@lists.sourceforge.net, ntfs3@lists.linux.dev,
reiserfs-devel@vger.kernel.org
Subject: [PATCH 11/29] btrfs: use bdev_nr_sectors instead of open coding it
Date: Wed, 13 Oct 2021 07:10:24 +0200 [thread overview]
Message-ID: <20211013051042.1065752-12-hch@lst.de> (raw)
In-Reply-To: <20211013051042.1065752-1-hch@lst.de>
Use the proper helper to read the block device size.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
fs/btrfs/dev-replace.c | 2 +-
fs/btrfs/disk-io.c | 3 ++-
fs/btrfs/ioctl.c | 4 ++--
fs/btrfs/volumes.c | 7 ++++---
4 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c
index d029be40ea6f0..67799b3132120 100644
--- a/fs/btrfs/dev-replace.c
+++ b/fs/btrfs/dev-replace.c
@@ -283,7 +283,7 @@ static int btrfs_init_dev_replace_tgtdev(struct btrfs_fs_info *fs_info,
}
- if (i_size_read(bdev->bd_inode) <
+ if ((bdev_nr_sectors(bdev) << SECTOR_SHIFT) <
btrfs_device_get_total_bytes(srcdev)) {
btrfs_err(fs_info,
"target device is smaller than source device!");
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 355ea88d5c5f7..07983f7e66e9f 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -3740,7 +3740,8 @@ struct btrfs_super_block *btrfs_read_dev_one_super(struct block_device *bdev,
else if (ret)
return ERR_PTR(ret);
- if (bytenr + BTRFS_SUPER_INFO_SIZE >= i_size_read(bdev->bd_inode))
+ if (bytenr + BTRFS_SUPER_INFO_SIZE >=
+ (bdev_nr_sectors(bdev) << SECTOR_SHIFT))
return ERR_PTR(-EINVAL);
page = read_cache_page_gfp(mapping, bytenr >> PAGE_SHIFT, GFP_NOFS);
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index cc61813213d83..5e6589b6ad8e4 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -1730,7 +1730,7 @@ static noinline int btrfs_ioctl_resize(struct file *file,
}
if (!strcmp(sizestr, "max"))
- new_size = device->bdev->bd_inode->i_size;
+ new_size = bdev_nr_sectors(device->bdev) << SECTOR_SHIFT;
else {
if (sizestr[0] == '-') {
mod = -1;
@@ -1771,7 +1771,7 @@ static noinline int btrfs_ioctl_resize(struct file *file,
ret = -EINVAL;
goto out_finish;
}
- if (new_size > device->bdev->bd_inode->i_size) {
+ if (new_size > (bdev_nr_sectors(device->bdev) << SECTOR_SHIFT)) {
ret = -EFBIG;
goto out_finish;
}
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 2ec3b8ac8fa35..11c5f9ec02511 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -1286,7 +1286,7 @@ static struct btrfs_super_block *btrfs_read_disk_super(struct block_device *bdev
pgoff_t index;
/* make sure our super fits in the device */
- if (bytenr + PAGE_SIZE >= i_size_read(bdev->bd_inode))
+ if (bytenr + PAGE_SIZE >= (bdev_nr_sectors(bdev) << SECTOR_SHIFT))
return ERR_PTR(-EINVAL);
/* make sure our super fits in the page */
@@ -2610,7 +2610,7 @@ int btrfs_init_new_device(struct btrfs_fs_info *fs_info, const char *device_path
device->io_width = fs_info->sectorsize;
device->io_align = fs_info->sectorsize;
device->sector_size = fs_info->sectorsize;
- device->total_bytes = round_down(i_size_read(bdev->bd_inode),
+ device->total_bytes = round_down(bdev_nr_sectors(bdev) << SECTOR_SHIFT,
fs_info->sectorsize);
device->disk_total_bytes = device->total_bytes;
device->commit_total_bytes = device->total_bytes;
@@ -7236,7 +7236,8 @@ static int read_one_dev(struct extent_buffer *leaf,
fill_device_from_item(leaf, dev_item, device);
if (device->bdev) {
- u64 max_total_bytes = i_size_read(device->bdev->bd_inode);
+ u64 max_total_bytes =
+ bdev_nr_sectors(device->bdev) << SECTOR_SHIFT;
if (device->total_bytes > max_total_bytes) {
btrfs_err(fs_info,
--
2.30.2
next prev parent reply other threads:[~2021-10-13 5:27 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-13 5:10 don't use ->bd_inode to access the block device size Christoph Hellwig
2021-10-13 5:10 ` [PATCH 01/29] bcache: remove bdev_sectors Christoph Hellwig
2021-10-13 5:21 ` Coly Li
2021-10-13 6:09 ` Kees Cook
2021-10-13 5:10 ` [PATCH 02/29] drbd: use bdev_nr_sectors instead of open coding it Christoph Hellwig
2021-10-13 6:09 ` Kees Cook
2021-10-13 22:33 ` Chaitanya Kulkarni
2021-10-13 5:10 ` [PATCH 03/29] dm: " Christoph Hellwig
2021-10-13 6:10 ` Kees Cook
2021-10-13 16:43 ` Mike Snitzer
2021-10-13 5:10 ` [PATCH 04/29] md: " Christoph Hellwig
2021-10-13 6:12 ` Kees Cook
2021-10-13 21:14 ` Song Liu
2021-10-13 5:10 ` [PATCH 05/29] mtd/block2mtd: " Christoph Hellwig
2021-10-13 5:10 ` [PATCH 06/29] nvmet: " Christoph Hellwig
2021-10-13 22:33 ` Chaitanya Kulkarni
2021-10-13 5:10 ` [PATCH 07/29] target/iblock: " Christoph Hellwig
2021-10-13 9:31 ` Bodo Stroesser
2021-10-13 22:37 ` Chaitanya Kulkarni
2021-10-13 5:10 ` [PATCH 08/29] fs: use bdev_nr_sectors instead of open coding it in blkdev_max_block Christoph Hellwig
2021-10-13 10:42 ` Jan Kara
2021-10-13 22:35 ` Chaitanya Kulkarni
2021-10-13 5:10 ` [PATCH 09/29] fs: simplify init_page_buffers Christoph Hellwig
2021-10-13 6:14 ` Kees Cook
2021-10-13 10:42 ` Jan Kara
2021-10-13 5:10 ` [PATCH 10/29] affs: use bdev_nr_sectors instead of open coding it Christoph Hellwig
2021-10-13 6:14 ` Kees Cook
2021-10-13 5:10 ` Christoph Hellwig [this message]
2021-10-13 7:08 ` [PATCH 11/29] btrfs: " Anand Jain
2021-10-13 22:36 ` Chaitanya Kulkarni
2021-10-14 2:44 ` Keith Busch
2021-10-13 5:10 ` [PATCH 12/29] cramfs: " Christoph Hellwig
2021-10-13 6:16 ` Kees Cook
2021-10-13 5:10 ` [PATCH 13/29] fat: " Christoph Hellwig
2021-10-13 6:16 ` Kees Cook
2021-10-13 5:10 ` [PATCH 14/29] hfs: " Christoph Hellwig
2021-10-13 6:16 ` Kees Cook
2021-10-13 5:10 ` [PATCH 15/29] hfsplus: " Christoph Hellwig
2021-10-13 6:16 ` Kees Cook
2021-10-13 5:10 ` [PATCH 16/29] jfs: " Christoph Hellwig
2021-10-13 14:13 ` Dave Kleikamp
2021-10-13 5:10 ` [PATCH 17/29] nfs/blocklayout: " Christoph Hellwig
2021-10-13 5:10 ` [PATCH 18/29] nilfs2: " Christoph Hellwig
2021-10-13 5:10 ` [PATCH 19/29] ntfs3: " Christoph Hellwig
2021-10-13 5:10 ` [PATCH 20/29] pstore/blk: " Christoph Hellwig
2021-10-13 5:10 ` [PATCH 21/29] reiserfs: " Christoph Hellwig
2021-10-13 10:43 ` Jan Kara
2021-10-13 5:10 ` [PATCH 22/29] squashfs: " Christoph Hellwig
2021-10-13 19:37 ` Phillip Lougher
2021-10-13 5:10 ` [PATCH 23/29] block: use bdev_nr_sectors instead of open coding it in blkdev_fallocate Christoph Hellwig
2021-10-13 10:44 ` Jan Kara
2021-10-13 22:34 ` Chaitanya Kulkarni
2021-10-13 5:10 ` [PATCH 24/29] block: add a sb_bdev_nr_blocks helper Christoph Hellwig
2021-10-13 6:27 ` Kees Cook
2021-10-13 5:10 ` [PATCH 25/29] ext4: use sb_bdev_nr_blocks Christoph Hellwig
2021-10-13 6:29 ` Kees Cook
2021-10-13 6:30 ` Kees Cook
2021-10-13 10:46 ` Jan Kara
2021-10-13 15:51 ` Theodore Ts'o
2021-10-13 5:10 ` [PATCH 26/29] jfs: " Christoph Hellwig
2021-10-13 6:31 ` Kees Cook
2021-10-13 5:10 ` [PATCH 27/29] ntfs: " Christoph Hellwig
2021-10-13 6:33 ` Kees Cook
2021-10-13 5:10 ` [PATCH 28/29] reiserfs: " Christoph Hellwig
2021-10-13 6:33 ` Kees Cook
2021-10-13 10:46 ` Jan Kara
2021-10-13 5:10 ` [PATCH 29/29] udf: " Christoph Hellwig
2021-10-13 6:34 ` Kees Cook
2021-10-13 10:47 ` Jan Kara
2021-10-13 6:39 ` don't use ->bd_inode to access the block device size Kees Cook
2021-10-13 7:14 ` Anand Jain
2021-10-14 6:28 ` Christoph Hellwig
2021-10-14 9:32 ` Anton Altaparmakov
2021-10-14 13:13 ` Dave Kleikamp
2021-10-14 15:14 ` Kees Cook
2021-10-14 15:35 ` Wol
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211013051042.1065752-12-hch@lst.de \
--to=hch@lst.de \
--cc=almaz.alexandrovich@paragon-software.com \
--cc=anton@tuxera.com \
--cc=axboe@kernel.dk \
--cc=colyli@suse.de \
--cc=dm-devel@redhat.com \
--cc=drbd-dev@lists.linbit.com \
--cc=dsterba@suse.com \
--cc=hirofumi@mail.parknet.co.jp \
--cc=jack@suse.com \
--cc=jfs-discussion@lists.sourceforge.net \
--cc=josef@toxicpanda.com \
--cc=keescook@chromium.org \
--cc=konishi.ryusuke@gmail.com \
--cc=linux-bcache@vger.kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-nilfs@vger.kernel.org \
--cc=linux-ntfs-dev@lists.sourceforge.net \
--cc=linux-nvme@lists.infradead.org \
--cc=linux-raid@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=ntfs3@lists.linux.dev \
--cc=phillip@squashfs.org.uk \
--cc=reiserfs-devel@vger.kernel.org \
--cc=shaggy@kernel.org \
--cc=snitzer@redhat.com \
--cc=song@kernel.org \
--cc=target-devel@vger.kernel.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).