diff options
Diffstat (limited to 'fs/namespace.c')
-rw-r--r-- | fs/namespace.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/fs/namespace.c b/fs/namespace.c index a40685d800a8..06f8e63f6cb1 100644 --- a/fs/namespace.c +++ b/fs/namespace.c | |||
@@ -614,9 +614,11 @@ static inline void __mntput(struct vfsmount *mnt) | |||
614 | */ | 614 | */ |
615 | for_each_possible_cpu(cpu) { | 615 | for_each_possible_cpu(cpu) { |
616 | struct mnt_writer *cpu_writer = &per_cpu(mnt_writers, cpu); | 616 | struct mnt_writer *cpu_writer = &per_cpu(mnt_writers, cpu); |
617 | if (cpu_writer->mnt != mnt) | ||
618 | continue; | ||
619 | spin_lock(&cpu_writer->lock); | 617 | spin_lock(&cpu_writer->lock); |
618 | if (cpu_writer->mnt != mnt) { | ||
619 | spin_unlock(&cpu_writer->lock); | ||
620 | continue; | ||
621 | } | ||
620 | atomic_add(cpu_writer->count, &mnt->__mnt_writers); | 622 | atomic_add(cpu_writer->count, &mnt->__mnt_writers); |
621 | cpu_writer->count = 0; | 623 | cpu_writer->count = 0; |
622 | /* | 624 | /* |
@@ -1128,7 +1130,7 @@ static int do_umount(struct vfsmount *mnt, int flags) | |||
1128 | * unixes. Our API is identical to OSF/1 to avoid making a mess of AMD | 1130 | * unixes. Our API is identical to OSF/1 to avoid making a mess of AMD |
1129 | */ | 1131 | */ |
1130 | 1132 | ||
1131 | asmlinkage long sys_umount(char __user * name, int flags) | 1133 | SYSCALL_DEFINE2(umount, char __user *, name, int, flags) |
1132 | { | 1134 | { |
1133 | struct path path; | 1135 | struct path path; |
1134 | int retval; | 1136 | int retval; |
@@ -1160,7 +1162,7 @@ out: | |||
1160 | /* | 1162 | /* |
1161 | * The 2.0 compatible umount. No flags. | 1163 | * The 2.0 compatible umount. No flags. |
1162 | */ | 1164 | */ |
1163 | asmlinkage long sys_oldumount(char __user * name) | 1165 | SYSCALL_DEFINE1(oldumount, char __user *, name) |
1164 | { | 1166 | { |
1165 | return sys_umount(name, 0); | 1167 | return sys_umount(name, 0); |
1166 | } | 1168 | } |
@@ -2045,9 +2047,8 @@ struct mnt_namespace *copy_mnt_ns(unsigned long flags, struct mnt_namespace *ns, | |||
2045 | return new_ns; | 2047 | return new_ns; |
2046 | } | 2048 | } |
2047 | 2049 | ||
2048 | asmlinkage long sys_mount(char __user * dev_name, char __user * dir_name, | 2050 | SYSCALL_DEFINE5(mount, char __user *, dev_name, char __user *, dir_name, |
2049 | char __user * type, unsigned long flags, | 2051 | char __user *, type, unsigned long, flags, void __user *, data) |
2050 | void __user * data) | ||
2051 | { | 2052 | { |
2052 | int retval; | 2053 | int retval; |
2053 | unsigned long data_page; | 2054 | unsigned long data_page; |
@@ -2172,8 +2173,8 @@ static void chroot_fs_refs(struct path *old_root, struct path *new_root) | |||
2172 | * though, so you may need to say mount --bind /nfs/my_root /nfs/my_root | 2173 | * though, so you may need to say mount --bind /nfs/my_root /nfs/my_root |
2173 | * first. | 2174 | * first. |
2174 | */ | 2175 | */ |
2175 | asmlinkage long sys_pivot_root(const char __user * new_root, | 2176 | SYSCALL_DEFINE2(pivot_root, const char __user *, new_root, |
2176 | const char __user * put_old) | 2177 | const char __user *, put_old) |
2177 | { | 2178 | { |
2178 | struct vfsmount *tmp; | 2179 | struct vfsmount *tmp; |
2179 | struct path new, old, parent_path, root_parent, root; | 2180 | struct path new, old, parent_path, root_parent, root; |