From: Christoph Hellwig <hch@infradead.org>
To: Tao Lyu <tao.lyu@epfl.ch>
Cc: Trond Myklebust <trondmy@hammerspace.com>,
"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>
Subject: Re: Question about O_APPEND | O_DIRECT
Date: Mon, 27 Nov 2023 08:36:47 -0800 [thread overview]
Message-ID: <ZWTFn0/FtJ5WuQGc@infradead.org> (raw)
In-Reply-To: <7d2d17e4d3904d29b75fadcfd916b2a3@epfl.ch>
On Mon, Nov 27, 2023 at 03:28:16PM +0000, Tao Lyu wrote:
>
> O_APPEND | O_DIRECT can be used to bypass the client cache for multiple threads writing data without caring of the orders (e.g., logs).
>
> Yes, to support O_APPEND | O_DIRECT, NFS must first support APPEND.
> But the key point is that looks like NFS has supported O_APPEND already.
> I can successfully open a file with "O_RDWR|O_APPEND".
>
> My confusion is why NFS supports O_RDWR and O_APPEND individually but does not support this combination.
Well, it does support O_RDWR|O_APPEND, just not with O_DIRECT?
Btw, I think an APPEND operation in NFS would be a very good idea, and
I'd love to work with interested parties in the IETF on it. Not that
we (Damien to be specific) plan to add support to Linux to also report
the actual offset an O_APPEND write wrote to through io_uring as we
have varios use cases for out of place write data stores for that.
It would be great to also support that programming model over NFS.
next prev parent reply other threads:[~2023-11-27 16:36 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-23 18:14 Question about O_APPEND | O_DIRECT Tao Lyu
2023-11-25 23:54 ` Trond Myklebust
2023-11-27 15:28 ` Tao Lyu
2023-11-27 16:36 ` Christoph Hellwig [this message]
2023-11-27 16:41 ` Tao Lyu
2023-11-27 16:50 ` Chuck Lever III
2023-11-27 16:55 ` Christoph Hellwig
2023-11-27 16:59 ` Chuck Lever III
2023-11-28 13:06 ` Christoph Hellwig
2023-11-28 1:50 ` Rick Macklem
2023-11-28 13:09 ` Christoph Hellwig
2023-11-28 18:28 ` Trond Myklebust
2023-11-27 17:08 ` Trond Myklebust
2023-11-27 17:19 ` hch
2023-11-27 17:23 ` Tao Lyu
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=ZWTFn0/FtJ5WuQGc@infradead.org \
--to=hch@infradead.org \
--cc=linux-nfs@vger.kernel.org \
--cc=tao.lyu@epfl.ch \
--cc=trondmy@hammerspace.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox