From: "Darrick J. Wong" <djwong@kernel.org>
To: Christoph Hellwig <hch@lst.de>
Cc: John Garry <john.g.garry@oracle.com>,
brauner@kernel.org, viro@zeniv.linux.org.uk, jack@suse.cz,
cem@kernel.org, linux-fsdevel@vger.kernel.org,
dchinner@redhat.com, linux-xfs@vger.kernel.org,
linux-kernel@vger.kernel.org, ojaswin@linux.ibm.com,
ritesh.list@gmail.com, martin.petersen@oracle.com,
linux-ext4@vger.kernel.org, linux-block@vger.kernel.org,
catherine.hoang@oracle.com, linux-api@vger.kernel.org
Subject: Re: [PATCH v9 05/15] xfs: ignore HW which cannot atomic write a single block
Date: Thu, 1 May 2025 12:53:48 -0700 [thread overview]
Message-ID: <20250501195348.GH25675@frogsfrogsfrogs> (raw)
In-Reply-To: <20250501162216.GB25675@frogsfrogsfrogs>
On Thu, May 01, 2025 at 09:22:16AM -0700, Darrick J. Wong wrote:
> On Wed, Apr 30, 2025 at 02:59:06PM +0200, Christoph Hellwig wrote:
> > On Tue, Apr 29, 2025 at 07:44:46AM -0700, Darrick J. Wong wrote:
> > > > So this can't be merged into xfs_setsize_buftarg as suggeted last round
> > > > instead of needing yet another per-device call into the buftarg code?
> > >
> > > Oh, heh, I forgot that xfs_setsize_buftarg is called a second time by
> > > xfs_setup_devices at the end of fill_super.
> >
> > That's actually the real call. The first is just a dummy to have
> > bt_meta_sectorsize/bt_meta_sectormask initialized because if we didn't
> > do that some assert in the block layer triggered. We should probably
> > remove that call and open code the two assignments..
> >
> > > I don't like the idea of merging the hw atomic write detection into
> > > xfs_setsize_buftarg itself because (a) it gets called for the data
> > > device before we've read the fs blocksize so the validation is
> > > meaningless and (b) that makes xfs_setsize_buftarg's purpose less
> > > cohesive.
> >
> > As explained last round this came up I'd of course rename it if
> > we did that. But I can do that later.
>
> <nod> Would you be willing to review this patch as it is now and either
> you or me can just tack a new cleanup patch on the end? I tried writing
> a patch to clean this up, but ran into questions:
>
> At first I thought that the xfs_setsize_buftarg call in
> xfs_alloc_buftarg could be replaced by open-coding the bt_meta_sector*
> assignment, checking that bdev_validate_blocksize is ok, and dropping
> the sync_blockdev.
>
> Once we get to xfs_setup_devices, we can call xfs_setsize_buftarg on the
> three buftargs, and xfs_setsize_buftarg will configure the atomic writes
> geometry.
>
> But then as I was reading the patch, it occurred to me that at least for
> the data device, we actually /do/ want that sync_blockdev call so that
> any dirty pagecache for the superblock actually get written to disk.
> Maybe that can go at the end of xfs_open_devices? But would it be
> preferable to sync all the devices prior to trying to read the primary
> sb? I don't think there's a need, but maybe someone else has a
> different viewpoint?
Eh, since John posted a V10 I'll just tack my new patches on the end of
that so everyone can look at them.
--D
next prev parent reply other threads:[~2025-05-01 19:53 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-25 16:44 [PATCH v9 00/15] large atomic writes for xfs John Garry
2025-04-25 16:44 ` [PATCH v9 01/15] fs: add atomic write unit max opt to statx John Garry
2025-04-25 16:44 ` [PATCH v9 02/15] xfs: add helpers to compute log item overhead John Garry
2025-04-25 16:44 ` [PATCH v9 03/15] xfs: add helpers to compute transaction reservation for finishing intent items John Garry
2025-04-25 16:44 ` [PATCH v9 04/15] xfs: rename xfs_inode_can_atomicwrite() -> xfs_inode_can_hw_atomic_write() John Garry
2025-04-25 16:44 ` [PATCH v9 05/15] xfs: ignore HW which cannot atomic write a single block John Garry
2025-04-29 12:21 ` Christoph Hellwig
2025-04-29 14:44 ` Darrick J. Wong
2025-04-30 12:59 ` Christoph Hellwig
2025-05-01 16:22 ` Darrick J. Wong
2025-05-01 19:53 ` Darrick J. Wong [this message]
2025-04-30 5:18 ` [PATCH v9.1 " Darrick J. Wong
2025-04-25 16:44 ` [PATCH v9 06/15] xfs: allow block allocator to take an alignment hint John Garry
2025-04-25 16:44 ` [PATCH v9 07/15] xfs: refactor xfs_reflink_end_cow_extent() John Garry
2025-04-25 16:44 ` [PATCH v9 08/15] xfs: refine atomic write size check in xfs_file_write_iter() John Garry
2025-04-25 16:44 ` [PATCH v9 09/15] xfs: add xfs_atomic_write_cow_iomap_begin() John Garry
2025-04-25 16:44 ` [PATCH v9 10/15] xfs: add large atomic writes checks in xfs_direct_write_iomap_begin() John Garry
2025-04-25 16:45 ` [PATCH v9 11/15] xfs: commit CoW-based atomic writes atomically John Garry
2025-04-25 16:45 ` [PATCH v9 12/15] xfs: add xfs_file_dio_write_atomic() John Garry
2025-04-25 16:45 ` [PATCH v9 13/15] xfs: add xfs_compute_atomic_write_unit_max() John Garry
2025-04-30 7:52 ` John Garry
2025-05-01 4:30 ` Darrick J. Wong
2025-05-01 5:00 ` John Garry
2025-05-01 16:23 ` Darrick J. Wong
2025-04-25 16:45 ` [PATCH v9 14/15] xfs: update atomic write limits John Garry
2025-04-25 16:45 ` [PATCH v9 15/15] xfs: allow sysadmins to specify a maximum atomic write limit at mount time John Garry
2025-04-29 12:22 ` Christoph Hellwig
2025-04-29 14:38 ` Darrick J. Wong
2025-04-30 14:14 ` [PATCH v9 00/15] large atomic writes for xfs John Garry
2025-05-01 4:31 ` Darrick J. Wong
2025-05-01 5:04 ` John Garry
2025-05-01 13:44 ` Christoph Hellwig
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=20250501195348.GH25675@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=brauner@kernel.org \
--cc=catherine.hoang@oracle.com \
--cc=cem@kernel.org \
--cc=dchinner@redhat.com \
--cc=hch@lst.de \
--cc=jack@suse.cz \
--cc=john.g.garry@oracle.com \
--cc=linux-api@vger.kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=ojaswin@linux.ibm.com \
--cc=ritesh.list@gmail.com \
--cc=viro@zeniv.linux.org.uk \
/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).