]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/autofs4/autofs_i.h
[CIFS] Use the kthread_ API instead of opencoding lots of hairy code for kernel
[linux-2.6-omap-h63xx.git] / fs / autofs4 / autofs_i.h
index ed388a1d8fc43fc292e9211746d20441c3e400bc..57c4903614e58c29a2eae1462f1f46c1ca8083ec 100644 (file)
@@ -77,17 +77,23 @@ struct autofs_wait_queue {
        int hash;
        int len;
        char *name;
+       u32 dev;
+       u64 ino;
+       uid_t uid;
+       gid_t gid;
+       pid_t pid;
+       pid_t tgid;
        /* This is for status reporting upon return */
        int status;
-       atomic_t notified;
+       atomic_t notify;
        atomic_t wait_ctr;
 };
 
 #define AUTOFS_SBI_MAGIC 0x6d4a556d
 
-#define AUTOFS_TYP_INDIRECT     0x0001
-#define AUTOFS_TYP_DIRECT       0x0002
-#define AUTOFS_TYP_OFFSET       0x0004
+#define AUTOFS_TYPE_INDIRECT     0x0001
+#define AUTOFS_TYPE_DIRECT       0x0002
+#define AUTOFS_TYPE_OFFSET       0x0004
 
 struct autofs_sb_info {
        u32 magic;
@@ -170,8 +176,8 @@ extern struct inode_operations autofs4_dir_inode_operations;
 extern struct inode_operations autofs4_root_inode_operations;
 extern struct inode_operations autofs4_indirect_root_inode_operations;
 extern struct inode_operations autofs4_direct_root_inode_operations;
-extern struct file_operations autofs4_dir_operations;
-extern struct file_operations autofs4_root_operations;
+extern const struct file_operations autofs4_dir_operations;
+extern const struct file_operations autofs4_root_operations;
 
 /* Initializing function */
 
@@ -180,13 +186,6 @@ struct autofs_info *autofs4_init_ino(struct autofs_info *, struct autofs_sb_info
 
 /* Queue management functions */
 
-enum autofs_notify
-{
-       NFY_NONE,
-       NFY_MOUNT,
-       NFY_EXPIRE
-};
-
 int autofs4_wait(struct autofs_sb_info *,struct dentry *, enum autofs_notify);
 int autofs4_wait_release(struct autofs_sb_info *,autofs_wqt_t,int);
 void autofs4_catatonic_mode(struct autofs_sb_info *);
@@ -204,6 +203,16 @@ static inline int autofs4_follow_mount(struct vfsmount **mnt, struct dentry **de
        return res;
 }
 
+static inline u32 autofs4_get_dev(struct autofs_sb_info *sbi)
+{
+       return new_encode_dev(sbi->sb->s_dev);
+}
+
+static inline u64 autofs4_get_ino(struct autofs_sb_info *sbi)
+{
+       return sbi->sb->s_root->d_inode->i_ino;
+}
+
 static inline int simple_positive(struct dentry *dentry)
 {
        return dentry->d_inode && !d_unhashed(dentry);
@@ -221,3 +230,6 @@ static inline int __simple_empty(struct dentry *dentry)
 out:
        return ret;
 }
+
+void autofs4_dentry_release(struct dentry *);
+