autofs: work around unhappy compat problem on x86-64
[pandora-kernel.git] / fs / autofs4 / inode.c
index 8179f1a..06858d9 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/parser.h>
 #include <linux/bitops.h>
 #include <linux/magic.h>
+#include <linux/compat.h>
 #include "autofs_i.h"
 #include <linux/module.h>
 
@@ -70,10 +71,10 @@ out_kill_sb:
        kill_litter_super(sb);
 }
 
-static int autofs4_show_options(struct seq_file *m, struct vfsmount *mnt)
+static int autofs4_show_options(struct seq_file *m, struct dentry *root)
 {
-       struct autofs_sb_info *sbi = autofs4_sbi(mnt->mnt_sb);
-       struct inode *root_inode = mnt->mnt_sb->s_root->d_inode;
+       struct autofs_sb_info *sbi = autofs4_sbi(root->d_sb);
+       struct inode *root_inode = root->d_sb->s_root->d_inode;
 
        if (!sbi)
                return 0;
@@ -224,7 +225,9 @@ int autofs4_fill_super(struct super_block *s, void *data, int silent)
        set_autofs_type_indirect(&sbi->type);
        sbi->min_proto = 0;
        sbi->max_proto = 0;
+       sbi->compat_daemon = is_compat_task();
        mutex_init(&sbi->wq_mutex);
+       mutex_init(&sbi->pipe_mutex);
        spin_lock_init(&sbi->fs_lock);
        sbi->queues = NULL;
        spin_lock_init(&sbi->lookup_lock);
@@ -326,7 +329,7 @@ fail_unlock:
        return -EINVAL;
 }
 
-struct inode *autofs4_get_inode(struct super_block *sb, mode_t mode)
+struct inode *autofs4_get_inode(struct super_block *sb, umode_t mode)
 {
        struct inode *inode = new_inode(sb);