All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Chris Mason <clm@fb.com>, Josef Bacik <josef@toxicpanda.com>,
	David Sterba <dsterba@suse.com>
Cc: Naohiro Aota <naohiro.aota@wdc.com>, linux-btrfs@vger.kernel.org
Subject: [PATCH 1/7] btrfs: use file_offset to limit bios size in calc_bio_boundaries
Date: Mon, 12 Dec 2022 08:37:18 +0100	[thread overview]
Message-ID: <20221212073724.12637-2-hch@lst.de> (raw)
In-Reply-To: <20221212073724.12637-1-hch@lst.de>

btrfs_ordered_extent->disk_bytenr can be rewritten by the zoned I/O
completion handler, and thus in general is not a good idea to limit I/O
size.  But the maximum bio size calculation can easily be done using the
file_offset fields in the btrfs_ordered_extent and btrfs_bio structures,
so switch to that instead.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/btrfs/extent_io.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index a65a1629d3356d..1fcb55e549717f 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -944,8 +944,8 @@ static void calc_bio_boundaries(struct btrfs_bio_ctrl *bio_ctrl,
 		ordered = btrfs_lookup_ordered_extent(inode, file_offset);
 		if (ordered) {
 			bio_ctrl->len_to_oe_boundary = min_t(u32, U32_MAX,
-					ordered->disk_bytenr +
-					ordered->disk_num_bytes - logical);
+					ordered->file_offset +
+					ordered->disk_num_bytes - file_offset);
 			btrfs_put_ordered_extent(ordered);
 			return;
 		}
-- 
2.35.1


  reply	other threads:[~2022-12-12  7:37 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-12  7:37 small btrfs-zoned fixlets and optimizations Christoph Hellwig
2022-12-12  7:37 ` Christoph Hellwig [this message]
2022-12-12 18:54   ` [PATCH 1/7] btrfs: use file_offset to limit bios size in calc_bio_boundaries Josef Bacik
2022-12-13 14:08     ` Christoph Hellwig
2022-12-12  7:37 ` [PATCH 2/7] btrfs; rename the disk_bytenr in strut btrfs_ordered_extent Christoph Hellwig
2022-12-12 18:58   ` Josef Bacik
2022-12-13 14:08     ` Christoph Hellwig
2022-12-14 17:01       ` Josef Bacik
2022-12-12  7:37 ` [PATCH 3/7] btrfs: set bbio->file_offset in alloc_new_bio Christoph Hellwig
2022-12-12  7:37 ` [PATCH 4/7] btrfs: pass a btrfs_bio to btrfs_use_append Christoph Hellwig
2022-12-12 12:01   ` Johannes Thumshirn
2022-12-12  7:37 ` [PATCH 5/7] btrfs: never return true for reads in btrfs_use_zone_append Christoph Hellwig
2022-12-12 12:02   ` Johannes Thumshirn
2022-12-12  7:37 ` [PATCH 6/7] btrfs: don't rely on unchanging ->bi_bdev for zone append remaps Christoph Hellwig
2022-12-12  7:37 ` [PATCH 7/7] btrfs: remove the bdev argument to btrfs_rmap_block Christoph Hellwig
2022-12-12 18:59 ` small btrfs-zoned fixlets and optimizations Josef Bacik
2023-02-09 20:13 ` David Sterba

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=20221212073724.12637-2-hch@lst.de \
    --to=hch@lst.de \
    --cc=clm@fb.com \
    --cc=dsterba@suse.com \
    --cc=josef@toxicpanda.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=naohiro.aota@wdc.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.