|
|
Subscribe / Log in / New account

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



Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds