linux-stable/fs/coda
Linus Torvalds 499aa1ca4e dcache stuff for this cycle
change of locking rules for __dentry_kill(), regularized refcounting
 rules in that area, assorted cleanups and removal of weird corner
 cases (e.g. now ->d_iput() on child is always called before the parent
 might hit __dentry_kill(), etc.)
 
 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQqUNBr3gm4hGXdBJlZ7Krx/gZQ6wUCZZ+sQQAKCRBZ7Krx/gZQ
 6ybjAQDM5jiS93IUzfHjCWq0nVBX5YGbDAkZOeqxbmIdQb+2UAEA6elP5r0fBBcA
 seo3bry4DirQMDaA/Cjh4+8r71YSOQs=
 =7+Hk
 -----END PGP SIGNATURE-----

Merge tag 'pull-dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs

Pull dcache updates from Al Viro:
 "Change of locking rules for __dentry_kill(), regularized refcounting
  rules in that area, assorted cleanups and removal of weird corner
  cases (e.g. now ->d_iput() on child is always called before the parent
  might hit __dentry_kill(), etc)"

* tag 'pull-dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (40 commits)
  dcache: remove unnecessary NULL check in dget_dlock()
  kill DCACHE_MAY_FREE
  __d_unalias() doesn't use inode argument
  d_alloc_parallel(): in-lookup hash insertion doesn't need an RCU variant
  get rid of DCACHE_GENOCIDE
  d_genocide(): move the extern into fs/internal.h
  simple_fill_super(): don't bother with d_genocide() on failure
  nsfs: use d_make_root()
  d_alloc_pseudo(): move setting ->d_op there from the (sole) caller
  kill d_instantate_anon(), fold __d_instantiate_anon() into remaining caller
  retain_dentry(): introduce a trimmed-down lockless variant
  __dentry_kill(): new locking scheme
  d_prune_aliases(): use a shrink list
  switch select_collect{,2}() to use of to_shrink_list()
  to_shrink_list(): call only if refcount is 0
  fold dentry_kill() into dput()
  don't try to cut corners in shrink_lock_dentry()
  fold the call of retain_dentry() into fast_dput()
  Call retain_dentry() with refcount 0
  dentry_kill(): don't bother with retain_dentry() on slow path
  ...
2024-01-11 20:11:35 -08:00
..
cache.c dentry: switch the lists of children to hlist 2023-11-25 02:32:13 -05:00
cnode.c coda: avoid doing bad things on inode type changes during revalidation 2021-11-09 10:02:51 -08:00
coda_cache.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
coda_fs_i.h coda: add hinting support for partial file caching 2019-07-16 19:23:23 -07:00
coda_int.h coda: remove sysctl object from module when unused 2019-07-16 19:23:23 -07:00
coda_linux.c coda: convert to new timestamp accessors 2023-10-18 13:26:19 +02:00
coda_linux.h fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
coda_psdev.h coda: add hinting support for partial file caching 2019-07-16 19:23:23 -07:00
dir.c coda: convert to new timestamp accessors 2023-10-18 13:26:19 +02:00
file.c fs: move file_start_write() into vfs_iter_write() 2023-11-24 10:09:51 +01:00
inode.c fs: pass the request_mask to generic_fillattr 2023-08-09 08:56:36 +02:00
Kconfig docs: filesystems: convert coda.txt to ReST 2020-05-05 09:22:21 -06:00
Makefile coda: remove sysctl object from module when unused 2019-07-16 19:23:23 -07:00
pioctl.c fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
psdev.c driver core: class: remove module * from class_create() 2023-03-17 15:16:33 +01:00
symlink.c coda: Convert coda_symlink_filler() to use a folio 2022-08-02 12:34:03 -04:00
sysctl.c coda: Remove the now superfluous sentinel elements from ctl_table array 2023-12-28 04:57:57 -08:00
upcall.c coda: Avoid partial allocation of sig_inputArgs 2023-02-08 15:26:58 -08:00