Loading fs/9p/vfs_super.c +5 −1 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ #include <linux/mount.h> #include <linux/idr.h> #include <linux/sched.h> #include <linux/smp_lock.h> #include <net/9p/9p.h> #include <net/9p/client.h> Loading Loading @@ -230,9 +231,12 @@ static int v9fs_show_options(struct seq_file *m, struct vfsmount *mnt) static void v9fs_umount_begin(struct super_block *sb) { struct v9fs_session_info *v9ses = sb->s_fs_info; struct v9fs_session_info *v9ses; lock_kernel(); v9ses = sb->s_fs_info; v9fs_session_cancel(v9ses); unlock_kernel(); } static const struct super_operations v9fs_super_ops = { Loading fs/cifs/cifsfs.c +3 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ #include <linux/delay.h> #include <linux/kthread.h> #include <linux/freezer.h> #include <linux/smp_lock.h> #include "cifsfs.h" #include "cifspdu.h" #define DECLARE_GLOBALS_HERE Loading Loading @@ -530,6 +531,7 @@ static void cifs_umount_begin(struct super_block *sb) if (tcon == NULL) return; lock_kernel(); read_lock(&cifs_tcp_ses_lock); if (tcon->tc_count == 1) tcon->tidStatus = CifsExiting; Loading @@ -548,6 +550,7 @@ static void cifs_umount_begin(struct super_block *sb) } /* BB FIXME - finish add checks for tidStatus BB */ unlock_kernel(); return; } Loading fs/fuse/inode.c +3 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <linux/random.h> #include <linux/sched.h> #include <linux/exportfs.h> #include <linux/smp_lock.h> MODULE_AUTHOR("Miklos Szeredi <miklos@szeredi.hu>"); MODULE_DESCRIPTION("Filesystem in Userspace"); Loading Loading @@ -259,7 +260,9 @@ struct inode *fuse_iget(struct super_block *sb, u64 nodeid, static void fuse_umount_begin(struct super_block *sb) { lock_kernel(); fuse_abort_conn(get_fuse_conn_super(sb)); unlock_kernel(); } static void fuse_send_destroy(struct fuse_conn *fc) Loading fs/namespace.c +0 −2 Original line number Diff line number Diff line Loading @@ -1073,9 +1073,7 @@ static int do_umount(struct vfsmount *mnt, int flags) */ if (flags & MNT_FORCE && sb->s_op->umount_begin) { lock_kernel(); sb->s_op->umount_begin(sb); unlock_kernel(); } /* Loading fs/nfs/super.c +6 −1 Original line number Diff line number Diff line Loading @@ -683,9 +683,12 @@ static int nfs_show_stats(struct seq_file *m, struct vfsmount *mnt) */ static void nfs_umount_begin(struct super_block *sb) { struct nfs_server *server = NFS_SB(sb); struct nfs_server *server; struct rpc_clnt *rpc; lock_kernel(); server = NFS_SB(sb); /* -EIO all pending I/O */ rpc = server->client_acl; if (!IS_ERR(rpc)) Loading @@ -693,6 +696,8 @@ static void nfs_umount_begin(struct super_block *sb) rpc = server->client; if (!IS_ERR(rpc)) rpc_killall_tasks(rpc); unlock_kernel(); } /* Loading Loading
fs/9p/vfs_super.c +5 −1 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ #include <linux/mount.h> #include <linux/idr.h> #include <linux/sched.h> #include <linux/smp_lock.h> #include <net/9p/9p.h> #include <net/9p/client.h> Loading Loading @@ -230,9 +231,12 @@ static int v9fs_show_options(struct seq_file *m, struct vfsmount *mnt) static void v9fs_umount_begin(struct super_block *sb) { struct v9fs_session_info *v9ses = sb->s_fs_info; struct v9fs_session_info *v9ses; lock_kernel(); v9ses = sb->s_fs_info; v9fs_session_cancel(v9ses); unlock_kernel(); } static const struct super_operations v9fs_super_ops = { Loading
fs/cifs/cifsfs.c +3 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ #include <linux/delay.h> #include <linux/kthread.h> #include <linux/freezer.h> #include <linux/smp_lock.h> #include "cifsfs.h" #include "cifspdu.h" #define DECLARE_GLOBALS_HERE Loading Loading @@ -530,6 +531,7 @@ static void cifs_umount_begin(struct super_block *sb) if (tcon == NULL) return; lock_kernel(); read_lock(&cifs_tcp_ses_lock); if (tcon->tc_count == 1) tcon->tidStatus = CifsExiting; Loading @@ -548,6 +550,7 @@ static void cifs_umount_begin(struct super_block *sb) } /* BB FIXME - finish add checks for tidStatus BB */ unlock_kernel(); return; } Loading
fs/fuse/inode.c +3 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <linux/random.h> #include <linux/sched.h> #include <linux/exportfs.h> #include <linux/smp_lock.h> MODULE_AUTHOR("Miklos Szeredi <miklos@szeredi.hu>"); MODULE_DESCRIPTION("Filesystem in Userspace"); Loading Loading @@ -259,7 +260,9 @@ struct inode *fuse_iget(struct super_block *sb, u64 nodeid, static void fuse_umount_begin(struct super_block *sb) { lock_kernel(); fuse_abort_conn(get_fuse_conn_super(sb)); unlock_kernel(); } static void fuse_send_destroy(struct fuse_conn *fc) Loading
fs/namespace.c +0 −2 Original line number Diff line number Diff line Loading @@ -1073,9 +1073,7 @@ static int do_umount(struct vfsmount *mnt, int flags) */ if (flags & MNT_FORCE && sb->s_op->umount_begin) { lock_kernel(); sb->s_op->umount_begin(sb); unlock_kernel(); } /* Loading
fs/nfs/super.c +6 −1 Original line number Diff line number Diff line Loading @@ -683,9 +683,12 @@ static int nfs_show_stats(struct seq_file *m, struct vfsmount *mnt) */ static void nfs_umount_begin(struct super_block *sb) { struct nfs_server *server = NFS_SB(sb); struct nfs_server *server; struct rpc_clnt *rpc; lock_kernel(); server = NFS_SB(sb); /* -EIO all pending I/O */ rpc = server->client_acl; if (!IS_ERR(rpc)) Loading @@ -693,6 +696,8 @@ static void nfs_umount_begin(struct super_block *sb) rpc = server->client; if (!IS_ERR(rpc)) rpc_killall_tasks(rpc); unlock_kernel(); } /* Loading