summaryrefslogtreecommitdiff
path: root/fs/mount.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2019-06-30 10:39:08 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2019-07-16 22:43:40 -0400
commit4edbe133f851c9e3a2f2a1db367e826b01e72594 (patch)
treeefd25d386cbb1f6dcf85519f0ea318b7f2d04e87 /fs/mount.h
parent9bdebc2bd1c4abfbf44dc154cc152ec333e004de (diff)
downloadlwn-4edbe133f851c9e3a2f2a1db367e826b01e72594.tar.gz
lwn-4edbe133f851c9e3a2f2a1db367e826b01e72594.zip
make struct mountpoint bear the dentry reference to mountpoint, not struct mount
Using dput_to_list() to shift the contributing reference from ->mnt_mountpoint to ->mnt_mp->m_dentry. Dentries are dropped (with dput_to_list()) as soon as struct mountpoint is destroyed; in cases where we are under namespace_sem we use the global list, shrinking it in namespace_unlock(). In case of detaching stuck MNT_LOCKed children at final mntput_no_expire() we use a local list and shrink it ourselves. ->mnt_ex_mountpoint crap is gone. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/mount.h')
-rw-r--r--fs/mount.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/mount.h b/fs/mount.h
index 6250de544760..84aa8cdf4971 100644
--- a/fs/mount.h
+++ b/fs/mount.h
@@ -69,7 +69,6 @@ struct mount {
int mnt_expiry_mark; /* true if marked for expiry */
struct hlist_head mnt_pins;
struct fs_pin mnt_umount;
- struct dentry *mnt_ex_mountpoint;
} __randomize_layout;
#define MNT_NS_INTERNAL ERR_PTR(-EINVAL) /* distinct from any mnt_namespace */