diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-22 21:27:56 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-22 21:28:34 -0400 |
| commit | 94bc891b00e40cbec375feb4568780af183fd7f4 (patch) | |
| tree | fd48d354c61d2e736aa593c324a6d794afd8a4e7 /fs/pnode.c | |
| parent | 934b7024f0ed29003c95cef447d92737ab86dc4f (diff) | |
| parent | 1ec7f1ddbe5ba49f7b10c3b129d6d5c90c43526c (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
[PATCH] get rid of __exit_files(), __exit_fs() and __put_fs_struct()
[PATCH] proc_readfd_common() race fix
[PATCH] double-free of inode on alloc_file() failure exit in create_write_pipe()
[PATCH] teach seq_file to discard entries
[PATCH] umount_tree() will unhash everything itself
[PATCH] get rid of more nameidata passing in namespace.c
[PATCH] switch a bunch of LSM hooks from nameidata to path
[PATCH] lock exclusively in collect_mounts() and drop_collected_mounts()
[PATCH] move a bunch of declarations to fs/internal.h
Diffstat (limited to 'fs/pnode.c')
| -rw-r--r-- | fs/pnode.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/pnode.c b/fs/pnode.c index 1d8f5447f3f7..f968e35d9785 100644 --- a/fs/pnode.c +++ b/fs/pnode.c | |||
| @@ -9,6 +9,7 @@ | |||
| 9 | #include <linux/mnt_namespace.h> | 9 | #include <linux/mnt_namespace.h> |
| 10 | #include <linux/mount.h> | 10 | #include <linux/mount.h> |
| 11 | #include <linux/fs.h> | 11 | #include <linux/fs.h> |
| 12 | #include "internal.h" | ||
| 12 | #include "pnode.h" | 13 | #include "pnode.h" |
| 13 | 14 | ||
| 14 | /* return the next shared peer mount of @p */ | 15 | /* return the next shared peer mount of @p */ |
| @@ -211,8 +212,7 @@ int propagate_mnt(struct vfsmount *dest_mnt, struct dentry *dest_dentry, | |||
| 211 | out: | 212 | out: |
| 212 | spin_lock(&vfsmount_lock); | 213 | spin_lock(&vfsmount_lock); |
| 213 | while (!list_empty(&tmp_list)) { | 214 | while (!list_empty(&tmp_list)) { |
| 214 | child = list_entry(tmp_list.next, struct vfsmount, mnt_hash); | 215 | child = list_first_entry(&tmp_list, struct vfsmount, mnt_hash); |
| 215 | list_del_init(&child->mnt_hash); | ||
| 216 | umount_tree(child, 0, &umount_list); | 216 | umount_tree(child, 0, &umount_list); |
| 217 | } | 217 | } |
| 218 | spin_unlock(&vfsmount_lock); | 218 | spin_unlock(&vfsmount_lock); |
