From: Al Viro <viro@zeniv.linux.org.uk>
To: Jens Axboe <axboe@kernel.dk>
Cc: linux-fsdevel@vger.kernel.org, torvalds@linux-foundation.org
Subject: Re: [PATCH 3/4] fs: expose LOOKUP_NONBLOCK through openat2() RESOLVE_NONBLOCK
Date: Wed, 16 Dec 2020 02:37:07 +0000 [thread overview]
Message-ID: <20201216023707.GI3579531@ZenIV.linux.org.uk> (raw)
In-Reply-To: <20201214191323.173773-4-axboe@kernel.dk>
On Mon, Dec 14, 2020 at 12:13:23PM -0700, Jens Axboe wrote:
> Now that we support non-blocking path resolution internally, expose it
> via openat2() in the struct open_how ->resolve flags. This allows
> applications using openat2() to limit path resolution to the extent that
> it is already cached.
>
> If the lookup cannot be satisfied in a non-blocking manner, openat2(2)
> will return -1/-EAGAIN.
>
> Cc: Al Viro <viro@zeniv.linux.org.uk>
> Signed-off-by: Jens Axboe <axboe@kernel.dk>
> ---
> fs/open.c | 6 ++++++
> include/linux/fcntl.h | 2 +-
> include/uapi/linux/openat2.h | 4 ++++
> 3 files changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/fs/open.c b/fs/open.c
> index 9af548fb841b..a83434cfe01c 100644
> --- a/fs/open.c
> +++ b/fs/open.c
> @@ -1087,6 +1087,12 @@ inline int build_open_flags(const struct open_how *how, struct open_flags *op)
> lookup_flags |= LOOKUP_BENEATH;
> if (how->resolve & RESOLVE_IN_ROOT)
> lookup_flags |= LOOKUP_IN_ROOT;
> + if (how->resolve & RESOLVE_NONBLOCK) {
> + /* Don't bother even trying for create/truncate open */
> + if (flags & (O_TRUNC | O_CREAT))
> + return -EAGAIN;
Why not O_TMPFILE here as well?
next prev parent reply other threads:[~2020-12-16 2:37 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-14 19:13 [PATCHSET v3 0/4] fs: Support for LOOKUP_NONBLOCK / RESOLVE_NONBLOCK Jens Axboe
2020-12-14 19:13 ` [PATCH 1/4] fs: make unlazy_walk() error handling consistent Jens Axboe
2020-12-14 19:13 ` [PATCH 2/4] fs: add support for LOOKUP_NONBLOCK Jens Axboe
2020-12-15 12:24 ` Matthew Wilcox
2020-12-15 15:29 ` Jens Axboe
2020-12-15 15:33 ` Matthew Wilcox
2020-12-15 15:37 ` Jens Axboe
2020-12-15 16:08 ` Jens Axboe
2020-12-15 16:14 ` Jens Axboe
2020-12-15 18:29 ` Linus Torvalds
2020-12-15 18:44 ` Jens Axboe
2020-12-15 18:47 ` Linus Torvalds
2020-12-15 19:03 ` Jens Axboe
2020-12-15 19:32 ` Linus Torvalds
2020-12-15 19:38 ` Jens Axboe
2020-12-16 2:36 ` Al Viro
2020-12-16 3:30 ` Jens Axboe
2020-12-16 2:43 ` Al Viro
2020-12-16 3:32 ` Jens Axboe
2020-12-14 19:13 ` [PATCH 3/4] fs: expose LOOKUP_NONBLOCK through openat2() RESOLVE_NONBLOCK Jens Axboe
2020-12-15 22:25 ` Dave Chinner
2020-12-15 22:31 ` Linus Torvalds
2020-12-15 23:25 ` Jens Axboe
2020-12-16 2:37 ` Al Viro [this message]
2020-12-16 3:39 ` Linus Torvalds
2020-12-14 19:13 ` [PATCH 4/4] io_uring: enable LOOKUP_NONBLOCK path resolution for filename lookups Jens Axboe
2020-12-15 3:06 ` [PATCHSET v3 0/4] fs: Support for LOOKUP_NONBLOCK / RESOLVE_NONBLOCK Linus Torvalds
2020-12-15 3:18 ` Jens Axboe
2020-12-15 6:11 ` Al Viro
2020-12-15 15:29 ` Jens Axboe
2021-01-04 5:31 ` Al Viro
2021-01-04 14:43 ` Jens Axboe
2021-01-04 16:54 ` Al Viro
2021-01-04 17:03 ` Jens Axboe
[not found] ` <m1lfbrwrgq.fsf@fess.ebiederm.org>
2021-02-14 16:38 ` [PATCHSET v3 0/4] fs: Support for LOOKUP_NONBLOCK / RESOLVE_NONBLOCK (Insufficiently faking current?) Jens Axboe
2021-02-14 20:30 ` Linus Torvalds
2021-02-14 21:24 ` Al Viro
2021-02-15 18:07 ` Eric W. Biederman
2021-02-15 18:24 ` Jens Axboe
2021-02-15 21:09 ` Jens Axboe
2021-02-15 22:41 ` Eric W. Biederman
2021-02-16 2:41 ` Jens Axboe
2021-02-17 1:18 ` Jens Axboe
2021-02-17 1:26 ` Jens Axboe
2021-02-17 3:11 ` Jens Axboe
2021-02-15 17:56 ` Eric W. Biederman
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=20201216023707.GI3579531@ZenIV.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=axboe@kernel.dk \
--cc=linux-fsdevel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/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.