linux-bcache.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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


  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).