From: Al Viro <viro@zeniv.linux.org.uk>
To: NeilBrown <neilb@suse.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Daire Byrne <daire@dneg.com>,
Trond Myklebust <trond.myklebust@hammerspace.com>,
Chuck Lever <chuck.lever@oracle.com>,
Linux NFS Mailing List <linux-nfs@vger.kernel.org>,
linux-fsdevel@vger.kernel.org,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 03/10] VFS: move want_write checks into lookup_hash_update()
Date: Sat, 27 Aug 2022 04:48:27 +0100 [thread overview]
Message-ID: <YwmUC7UNvNFdLTlc@ZenIV> (raw)
In-Reply-To: <166147984374.25420.3477094952897986387.stgit@noble.brown>
On Fri, Aug 26, 2022 at 12:10:43PM +1000, NeilBrown wrote:
> mnt_want_write() is always called before lookup_hash_update(), so
> we can simplify the code by moving the call into that function.
>
> If lookup_hash_update() succeeds, it now will have claimed the
> want_write lock. If it fails, the want_write lock isn't held.
>
> To allow this, lookup_hash_update() now receives a 'struct path *'
> instead of 'struct dentry *'
>
> Note that when creating a name, any error from mnt_want_write() does not
> get reported unless there is no other error. For unlink/rmdir though,
> an error from mnt_want_write() is immediately fatal - overriding ENOENT
> for example. This behaviour seems strange, but this patch is careful to
> preserve it.
Would be a nice idea, if not for the mess with LOOKUP_SILLY_RENAME later
in the series...
next prev parent reply other threads:[~2022-08-27 3:48 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-26 2:10 [PATCH/RFC 00/10 v5] Improve scalability of directory operations NeilBrown
2022-08-26 2:10 ` [PATCH 02/10] VFS: move EEXIST and ENOENT tests into lookup_hash_update() NeilBrown
2022-08-26 2:10 ` [PATCH 09/10] VFS: add LOOKUP_SILLY_RENAME NeilBrown
2022-08-27 1:21 ` Al Viro
2022-08-29 3:15 ` NeilBrown
2022-08-26 2:10 ` [PATCH 07/10] VFS: hold DCACHE_PAR_UPDATE lock across d_revalidate() NeilBrown
2022-08-26 2:10 ` [PATCH 06/10] VFS: support concurrent renames NeilBrown
2022-08-27 4:12 ` Al Viro
2022-08-29 3:08 ` NeilBrown
2022-08-26 2:10 ` [PATCH 05/10] VFS: export done_path_update() NeilBrown
2022-08-26 2:10 ` [PATCH 01/10] VFS: support parallel updates in the one directory NeilBrown
2022-08-26 19:06 ` Linus Torvalds
2022-08-26 23:06 ` NeilBrown
2022-08-27 0:13 ` Linus Torvalds
2022-08-27 0:23 ` Al Viro
2022-08-27 21:14 ` Al Viro
2022-08-27 0:17 ` Al Viro
2022-09-01 0:31 ` NeilBrown
2022-09-01 3:44 ` Al Viro
2022-08-27 3:43 ` Al Viro
2022-08-29 1:59 ` NeilBrown
2022-09-03 0:06 ` Al Viro
2022-09-03 1:40 ` NeilBrown
2022-09-03 2:12 ` Al Viro
2022-09-03 17:52 ` Al Viro
2022-09-04 23:33 ` NeilBrown
2022-08-26 2:10 ` [PATCH 04/10] VFS: move dput() and mnt_drop_write() into done_path_update() NeilBrown
2022-08-26 2:10 ` [PATCH 03/10] VFS: move want_write checks into lookup_hash_update() NeilBrown
2022-08-27 3:48 ` Al Viro [this message]
2022-08-26 2:10 ` [PATCH 10/10] NFS: support parallel updates in the one directory NeilBrown
2022-08-26 15:31 ` John Stoffel
2022-08-26 23:13 ` NeilBrown
2022-08-26 2:10 ` [PATCH 08/10] NFSD: allow parallel creates from nfsd NeilBrown
2022-08-27 4:37 ` Al Viro
2022-08-29 3:12 ` NeilBrown
2022-08-26 14:42 ` [PATCH/RFC 00/10 v5] Improve scalability of directory operations John Stoffel
2022-08-26 23:30 ` NeilBrown
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=YwmUC7UNvNFdLTlc@ZenIV \
--to=viro@zeniv.linux.org.uk \
--cc=chuck.lever@oracle.com \
--cc=daire@dneg.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=neilb@suse.de \
--cc=torvalds@linux-foundation.org \
--cc=trond.myklebust@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 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.