From: Linus Torvalds Date: Sat, 20 Jul 2019 16:15:51 +0000 (-0700) Subject: Merge branch 'work.dcache2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs X-Git-Tag: v5.15~5868 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=18253e034d2aeee140f82fc9fe89c4bce5c81799;p=platform%2Fkernel%2Flinux-starfive.git Merge branch 'work.dcache2' of git://git./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 --- 18253e034d2aeee140f82fc9fe89c4bce5c81799 diff --cc fs/internal.h index ff51732,dc317ab..315fcd8 --- a/fs/internal.h +++ b/fs/internal.h @@@ -156,7 -156,8 +156,9 @@@ extern int d_set_mounted(struct dentry 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