diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-03-30 20:26:08 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-03-30 20:26:08 -0400 |
commit | fedc1ed0f11be666de066b0c78443254736a942e (patch) | |
tree | d1911f00911c9fc5d22f90fb8492ee87ff9506e4 /fs/pnode.h | |
parent | 01358e562a8b97f50ec04025c009c71508e6d373 (diff) | |
parent | 38129a13e6e71f666e0468e99fdd932a687b4d7e (diff) |
Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs fixes from Al Viro:
"Switch mnt_hash to hlist, turning the races between __lookup_mnt() and
hash modifications into false negatives from __lookup_mnt() (instead
of hangs)"
On the false negatives from __lookup_mnt():
"The *only* thing we care about is not getting stuck in __lookup_mnt().
If it misses an entry because something in front of it just got moved
around, etc, we are fine. We'll notice that mount_lock mismatch and
that'll be it"
* 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
switch mnt_hash to hlist
don't bother with propagate_mnt() unless the target is shared
keep shadowed vfsmounts together
resizable namespace.c hashes
Diffstat (limited to 'fs/pnode.h')
-rw-r--r-- | fs/pnode.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/pnode.h b/fs/pnode.h index 59e7eda1851e..fc28a27fa892 100644 --- a/fs/pnode.h +++ b/fs/pnode.h | |||
@@ -36,8 +36,8 @@ static inline void set_mnt_shared(struct mount *mnt) | |||
36 | 36 | ||
37 | void change_mnt_propagation(struct mount *, int); | 37 | void change_mnt_propagation(struct mount *, int); |
38 | int propagate_mnt(struct mount *, struct mountpoint *, struct mount *, | 38 | int propagate_mnt(struct mount *, struct mountpoint *, struct mount *, |
39 | struct list_head *); | 39 | struct hlist_head *); |
40 | int propagate_umount(struct list_head *); | 40 | int propagate_umount(struct hlist_head *); |
41 | int propagate_mount_busy(struct mount *, int); | 41 | int propagate_mount_busy(struct mount *, int); |
42 | void mnt_release_group_id(struct mount *); | 42 | void mnt_release_group_id(struct mount *); |
43 | int get_dominating_id(struct mount *mnt, const struct path *root); | 43 | int get_dominating_id(struct mount *mnt, const struct path *root); |