diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2019-06-30 10:39:08 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2019-07-16 22:43:40 -0400 |
commit | 4edbe133f851c9e3a2f2a1db367e826b01e72594 (patch) | |
tree | efd25d386cbb1f6dcf85519f0ea318b7f2d04e87 /fs/mount.h | |
parent | 9bdebc2bd1c4abfbf44dc154cc152ec333e004de (diff) | |
download | lwn-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.h | 1 |
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 */ |