diff options
author | Jens Axboe <axboe@kernel.dk> | 2020-12-17 17:19:09 +0100 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2021-01-04 17:42:21 +0100 |
commit | 6c6ec2b0a3e0381d886d531bd1471dfdb1509237 (patch) | |
tree | 87edec0a250e14b3929f970917f34547a316c850 /fs/open.c | |
parent | saner calling conventions for unlazy_child() (diff) | |
download | linux-6c6ec2b0a3e0381d886d531bd1471dfdb1509237.tar.xz linux-6c6ec2b0a3e0381d886d531bd1471dfdb1509237.zip |
fs: add support for LOOKUP_CACHED
io_uring always punts opens to async context, since there's no control
over whether the lookup blocks or not. Add LOOKUP_CACHED to support
just doing the fast RCU based lookups, which we know will not block. If
we can do a cached path resolution of the filename, then we don't have
to always punt lookups for a worker.
During path resolution, we always do LOOKUP_RCU first. If that fails and
we terminate LOOKUP_RCU, then fail a LOOKUP_CACHED attempt as well.
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/open.c')
0 files changed, 0 insertions, 0 deletions