Create APIs to centralise locking for directory ops
From: | NeilBrown <neilb-AT-ownmail.net> | |
To: | "Alexander Viro" <viro-AT-zeniv.linux.org.uk>, "Christian Brauner" <brauner-AT-kernel.org>, "Amir Goldstein" <amir73il-AT-gmail.com>, Jeff Layton <jlayton-AT-kernel.org> | |
Subject: | [PATCH 00/11] Create APIs to centralise locking for directory ops | |
Date: | Fri, 26 Sep 2025 12:49:04 +1000 | |
Message-ID: | <20250926025015.1747294-1-neilb@ownmail.net> | |
Cc: | "Jan Kara" <jack-AT-suse.cz>, linux-fsdevel-AT-vger.kernel.org | |
Archive-link: | Article |
This is the next batch in my ongoing work to change directory op locking. The series creates a number of interfaces that combine locking and lookup, or sometimes do the locking without lookup. After this series there are still a few places where non-VFS code knows about the locking rules. Places that call simple_start_creating() still have explicit unlock on the parent (I think). Al is doing work on those places so I'll wait until he is finished. Also there explicit locking one place in nfsd which is changed by an in-flight patch. That lands it can be updated to use these interfaces. The first patch here should have been part of the last patch of the previous series - sorry for leaving it out. It should probably be squashed into that patch. I've combined the new interface with changes is various places to use the new interfaces. I think it is easier to reveiew the design that way. If necessary I can split these out to have separate patches for each place that new APIs are used if the general design is accepted. NeilBrown [PATCH 01/11] debugfs: rename end_creating() to [PATCH 02/11] VFS: introduce start_dirop() and end_dirop() [PATCH 03/11] VFS/nfsd/cachefiles/ovl: add start_creating() and [PATCH 04/11] VFS/nfsd/cachefiles/ovl: introduce start_removing() and [PATCH 05/11] VFS: introduce start_creating_noperm() and [PATCH 06/11] VFS: introduce start_removing_dentry() [PATCH 07/11] VFS: add start_creating_killable() and [PATCH 08/11] VFS/nfsd/ovl: introduce start_renaming() and [PATCH 09/11] VFS/ovl/smb: introduce start_renaming_dentry() [PATCH 10/11] Add start_renaming_two_dentrys() [PATCH 11/11] ecryptfs: use new start_creaing/start_removing APIs