linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Garry <john.g.garry@oracle.com>
To: "Darrick J. Wong" <djwong@kernel.org>
Cc: axboe@kernel.dk, brauner@kernel.org, viro@zeniv.linux.org.uk,
	jack@suse.cz, dchinner@redhat.com, hch@lst.de, cem@kernel.org,
	linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	hare@suse.de, martin.petersen@oracle.com,
	catherine.hoang@oracle.com, mcgrof@kernel.org,
	ritesh.list@gmail.com, ojaswin@linux.ibm.com
Subject: Re: [PATCH v6 3/7] fs: iomap: Atomic write support
Date: Tue, 1 Oct 2024 09:05:17 +0100	[thread overview]
Message-ID: <b7c74954-f4f0-44b7-ac7a-87518f0808fa@oracle.com> (raw)
In-Reply-To: <20240930155520.GM21853@frogsfrogsfrogs>


> 
> This new flag needs a documentation update.  What do you think of this?
> 
> diff --git a/Documentation/filesystems/iomap/operations.rst b/Documentation/filesystems/iomap/operations.rst
> index 8e6c721d23301..279db993be7fa 100644
> --- a/Documentation/filesystems/iomap/operations.rst
> +++ b/Documentation/filesystems/iomap/operations.rst
> @@ -513,6 +513,16 @@ IOMAP_WRITE`` with any combination of the following enhancements:
>      if the mapping is unwritten and the filesystem cannot handle zeroing
>      the unaligned regions without exposing stale contents.
>   
> + * ``IOMAP_ATOMIC``: This write must be persisted in its entirety or
> +   not at all.
> +   The write must not be split into multiple I/O requests.
> +   The file range to write must be aligned to satisfy the requirements
> +   of both the filesystem and the underlying block device's atomic
> +   commit capabilities.
> +   If filesystem metadata updates are required (e.g. unwritten extent
> +   conversion or copy on write), all updates for the entire file range
> +   must be committed atomically as well.
> +
>   Callers commonly hold ``i_rwsem`` in shared or exclusive mode before
>   calling this function.
>   

Sure, but I would make a couple of tweaks to the beginning:

  * ``IOMAP_ATOMIC``: This write is to be be issued with torn-write
    protection. Only a single bio can be created for the write, and the
    bio must not be split into multiple I/O requests, i.e. flag
    REQ_ATOMIC must be set.
    The file range to write must be aligned to satisfy the requirements
    of both the filesystem and the underlying block device's atomic
    commit capabilities.
    If filesystem metadata updates are required (e.g. unwritten extent
    conversion or copy on write), all updates for the entire file range
    must be committed atomically as well.

ok?

Thanks,
John



  reply	other threads:[~2024-10-01  8:05 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-30 12:54 [PATCH v6 0/7] block atomic writes for xfs John Garry
2024-09-30 12:54 ` [PATCH v6 1/7] block/fs: Pass an iocb to generic_atomic_write_valid() John Garry
2024-10-01  8:39   ` Christoph Hellwig
2024-09-30 12:54 ` [PATCH v6 2/7] fs: Export generic_atomic_write_valid() John Garry
2024-10-01  8:41   ` Christoph Hellwig
2024-09-30 12:54 ` [PATCH v6 3/7] fs: iomap: Atomic write support John Garry
2024-09-30 15:55   ` Darrick J. Wong
2024-10-01  8:05     ` John Garry [this message]
2024-10-01 14:37       ` Darrick J. Wong
2024-09-30 12:54 ` [PATCH v6 4/7] xfs: Support FS_XFLAG_ATOMICWRITES John Garry
2024-09-30 16:03   ` Darrick J. Wong
2024-09-30 16:44     ` Darrick J. Wong
2024-10-01  8:41     ` Christoph Hellwig
2024-10-01 12:05       ` John Garry
2024-10-01 13:35     ` John Garry
2024-10-03 12:48   ` John Garry
2024-10-03 13:02     ` Christoph Hellwig
2024-10-03 13:19       ` John Garry
2024-09-30 12:54 ` [PATCH v6 5/7] xfs: Support atomic write for statx John Garry
2024-09-30 16:37   ` Darrick J. Wong
2024-10-01  8:29     ` John Garry
2024-10-01  8:43     ` Christoph Hellwig
2024-09-30 12:54 ` [PATCH v6 6/7] xfs: Validate atomic writes John Garry
2024-09-30 16:41   ` Darrick J. Wong
2024-10-01 13:22     ` John Garry
2024-10-01 14:48       ` Darrick J. Wong
2024-10-01 15:48         ` John Garry
2024-09-30 12:54 ` [PATCH v6 7/7] xfs: Support setting FMODE_CAN_ATOMIC_WRITE John Garry
2024-09-30 16:41   ` Darrick J. Wong

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=b7c74954-f4f0-44b7-ac7a-87518f0808fa@oracle.com \
    --to=john.g.garry@oracle.com \
    --cc=axboe@kernel.dk \
    --cc=brauner@kernel.org \
    --cc=catherine.hoang@oracle.com \
    --cc=cem@kernel.org \
    --cc=dchinner@redhat.com \
    --cc=djwong@kernel.org \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=jack@suse.cz \
    --cc=linux-block@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=mcgrof@kernel.org \
    --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).