makes ->d_managed() safety in RCU mode independent from vfsmount_lock
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
        spinlock_t lookup_lock;
        struct list_head active_list;
        struct list_head expiring_list;
+       struct rcu_head rcu;
 };
 
 static inline struct autofs_sb_info *autofs4_sbi(struct super_block *sb)
 
         * just call kill_anon_super when we are called from
         * deactivate_super.
         */
-       if (!sbi)
-               goto out_kill_sb;
-
-       /* Free wait queues, close pipe */
-       autofs4_catatonic_mode(sbi);
-
-       sb->s_fs_info = NULL;
-       kfree(sbi);
+       if (sbi) /* Free wait queues, close pipe */
+               autofs4_catatonic_mode(sbi);
 
-out_kill_sb:
        DPRINTK("shutting down");
        kill_litter_super(sb);
+       if (sbi)
+               kfree_rcu(sbi, rcu);
 }
 
 static int autofs4_show_options(struct seq_file *m, struct dentry *root)