diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-07-20 09:15:51 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-07-20 09:15:51 -0700 |
commit | 18253e034d2aeee140f82fc9fe89c4bce5c81799 (patch) | |
tree | 0a01610fbe16b24800977d2c7a3b93721ca5639c /fs/internal.h | |
parent | abdfd52a295fb5731ab07b5c9013e2e39f4d1cbe (diff) | |
parent | 56cbb429d911991170fe867b4bba14f0efed5829 (diff) | |
download | linux-18253e034d2aeee140f82fc9fe89c4bce5c81799.tar.bz2 |
Merge branch 'work.dcache2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull dcache and mountpoint updates from Al Viro:
"Saner handling of refcounts to mountpoints.
Transfer the counting reference from struct mount ->mnt_mountpoint
over to struct mountpoint ->m_dentry. That allows us to get rid of the
convoluted games with ordering of mount shutdowns.
The cost is in teaching shrink_dcache_{parent,for_umount} to cope with
mixed-filesystem shrink lists, which we'll also need for the Slab
Movable Objects patchset"
* 'work.dcache2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
switch the remnants of releasing the mountpoint away from fs_pin
get rid of detach_mnt()
make struct mountpoint bear the dentry reference to mountpoint, not struct mount
Teach shrink_dcache_parent() to cope with mixed-filesystem shrink lists
fs/namespace.c: shift put_mountpoint() to callers of unhash_mnt()
__detach_mounts(): lookup_mountpoint() can't return ERR_PTR() anymore
nfs: dget_parent() never returns NULL
ceph: don't open-code the check for dead lockref
Diffstat (limited to 'fs/internal.h')
-rw-r--r-- | fs/internal.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/internal.h b/fs/internal.h index ff5173212803..315fcd8d237c 100644 --- a/fs/internal.h +++ b/fs/internal.h @@ -157,6 +157,8 @@ extern long prune_dcache_sb(struct super_block *sb, struct shrink_control *sc); extern struct dentry *d_alloc_cursor(struct dentry *); extern struct dentry * d_alloc_pseudo(struct super_block *, const struct qstr *); extern char *simple_dname(struct dentry *, char *, int); +extern void dput_to_list(struct dentry *, struct list_head *); +extern void shrink_dentry_list(struct list_head *); /* * read_write.c |