Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
[deliverable/linux.git] / fs / nfs / super.c
index b056b1628722218bbbadce33e86255e6953c8994..17b32b7224574207fba2ee5384474b69d6abcc99 100644 (file)
@@ -31,6 +31,7 @@
 #include <linux/errno.h>
 #include <linux/unistd.h>
 #include <linux/sunrpc/clnt.h>
+#include <linux/sunrpc/addr.h>
 #include <linux/sunrpc/stats.h>
 #include <linux/sunrpc/metrics.h>
 #include <linux/sunrpc/xprtsock.h>
@@ -54,7 +55,6 @@
 #include <linux/parser.h>
 #include <linux/nsproxy.h>
 #include <linux/rcupdate.h>
-#include <linux/kthread.h>
 
 #include <asm/uaccess.h>
 
@@ -292,7 +292,7 @@ struct file_system_type nfs_fs_type = {
        .name           = "nfs",
        .mount          = nfs_fs_mount,
        .kill_sb        = nfs_kill_super,
-       .fs_flags       = FS_RENAME_DOES_D_MOVE|FS_REVAL_DOT|FS_BINARY_MOUNTDATA,
+       .fs_flags       = FS_RENAME_DOES_D_MOVE|FS_BINARY_MOUNTDATA,
 };
 EXPORT_SYMBOL_GPL(nfs_fs_type);
 
@@ -301,7 +301,7 @@ struct file_system_type nfs_xdev_fs_type = {
        .name           = "nfs",
        .mount          = nfs_xdev_mount,
        .kill_sb        = nfs_kill_super,
-       .fs_flags       = FS_RENAME_DOES_D_MOVE|FS_REVAL_DOT|FS_BINARY_MOUNTDATA,
+       .fs_flags       = FS_RENAME_DOES_D_MOVE|FS_BINARY_MOUNTDATA,
 };
 
 const struct super_operations nfs_sops = {
@@ -331,7 +331,7 @@ struct file_system_type nfs4_fs_type = {
        .name           = "nfs4",
        .mount          = nfs_fs_mount,
        .kill_sb        = nfs_kill_super,
-       .fs_flags       = FS_RENAME_DOES_D_MOVE|FS_REVAL_DOT|FS_BINARY_MOUNTDATA,
+       .fs_flags       = FS_RENAME_DOES_D_MOVE|FS_BINARY_MOUNTDATA,
 };
 EXPORT_SYMBOL_GPL(nfs4_fs_type);
 
@@ -418,54 +418,6 @@ void nfs_sb_deactive(struct super_block *sb)
 }
 EXPORT_SYMBOL_GPL(nfs_sb_deactive);
 
-static int nfs_deactivate_super_async_work(void *ptr)
-{
-       struct super_block *sb = ptr;
-
-       deactivate_super(sb);
-       module_put_and_exit(0);
-       return 0;
-}
-
-/*
- * same effect as deactivate_super, but will do final unmount in kthread
- * context
- */
-static void nfs_deactivate_super_async(struct super_block *sb)
-{
-       struct task_struct *task;
-       char buf[INET6_ADDRSTRLEN + 1];
-       struct nfs_server *server = NFS_SB(sb);
-       struct nfs_client *clp = server->nfs_client;
-
-       if (!atomic_add_unless(&sb->s_active, -1, 1)) {
-               rcu_read_lock();
-               snprintf(buf, sizeof(buf),
-                       rpc_peeraddr2str(clp->cl_rpcclient, RPC_DISPLAY_ADDR));
-               rcu_read_unlock();
-
-               __module_get(THIS_MODULE);
-               task = kthread_run(nfs_deactivate_super_async_work, sb,
-                               "%s-deactivate-super", buf);
-               if (IS_ERR(task)) {
-                       pr_err("%s: kthread_run: %ld\n",
-                               __func__, PTR_ERR(task));
-                       /* make synchronous call and hope for the best */
-                       deactivate_super(sb);
-                       module_put(THIS_MODULE);
-               }
-       }
-}
-
-void nfs_sb_deactive_async(struct super_block *sb)
-{
-       struct nfs_server *server = NFS_SB(sb);
-
-       if (atomic_dec_and_test(&server->active))
-               nfs_deactivate_super_async(sb);
-}
-EXPORT_SYMBOL_GPL(nfs_sb_deactive_async);
-
 /*
  * Deliver file system statistics to userspace
  */
This page took 0.027292 seconds and 5 git commands to generate.