Hi Christian,
 do you have thoughts about this series?  Any idea when you might have
 time to review and (hopefully) apply them?

Thanks,
NeilBrown


On Wed, 25 Feb 2026, NeilBrown wrote:
> Following Chris Mason's tool-based review, here is v3 with some fixes.
> Particularly 06/15 mistakenly tested the result of start_creating for NULL
> and 09/15 had some really messed up flow in error handling.
> Also human-language typos fixed.
> 
> This code is in 
>   github.com:neilbrown/linux.git
>   branch pdirops
> 
> For anyone interested, my next batch is in branch pdirops-next
> 
> Original patch description below.
> 
> Thanks,
> NeilBrown
> 
> I am working towards changing the locking rules for name-operations: locking
> the name rather than the whole directory.
> 
> The current part of this process is centralising all the locking so that
> it can be changed in one place.
> 
> Recently "start_creating", "start_removing", "start_renaming" and related
> interaces were added which combine the locking and the lookup.  At that time
> many callers were changed to use the new interfaces.  However there are still
> an assortment of places out side of fs/namei.c where the directory is locked
> explictly, whether with inode_lock() or lock_rename() or similar.  These were
> missed in the first pass for an assortment of uninteresting reasons.
> 
> This series addresses the remaining places where explicit locking is
> used, and changes them to use the new interfaces, or otherwise removes
> the explicit locking.
> 
> The biggest changes are in overlayfs.  The other changes are quite
> simple, though maybe the cachefiles changes is the least simple of those.
> 
> I'm running the --overlay tests in xfstests and nothing has popped yet.
> I'll continue with this and run some NFS tests too.
> 
> Thanks for your review of these patches!
> 
> NeilBrown
> 
>  [PATCH v3 01/15] VFS: note error returns in documentation for various
>  [PATCH v3 02/15] fs/proc: Don't lock root inode when creating "self"
>  [PATCH v3 03/15] VFS: move the start_dirop() kerndoc comment to
>  [PATCH v3 04/15] libfs: change simple_done_creating() to use
>  [PATCH v3 05/15] Apparmor: Use simple_start_creating() /
>  [PATCH v3 06/15] selinux: Use simple_start_creating() /
>  [PATCH v3 07/15] nfsd: switch purge_old() to use
>  [PATCH v3 08/15] VFS: make lookup_one_qstr_excl() static.
>  [PATCH v3 09/15] ovl: Simplify ovl_lookup_real_one()
>  [PATCH v3 10/15] cachefiles: change cachefiles_bury_object to use
>  [PATCH v3 11/15] ovl: pass name buffer to ovl_start_creating_temp()
>  [PATCH v3 12/15] ovl: change ovl_create_real() to get a new lock when
>  [PATCH v3 13/15] ovl: use is_subdir() for testing if one thing is a
>  [PATCH v3 14/15] ovl: remove ovl_lock_rename_workdir()
>  [PATCH v3 15/15] VFS: unexport lock_rename(), lock_rename_child(),
> 
> 


Reply via email to