9p: define session flags
[firefly-linux-kernel-4.4.55.git] / fs / 9p / v9fs.h
index abc4b1668acef49513feb28c034e929206128cbf..804b3ef8feab2cd7d1284eb18ffc006b053e5fd0 100644 (file)
 struct v9fs_session_info {
        /* options */
        unsigned int maxdata;
-       unsigned char extended; /* set to 1 if we are using UNIX extensions */
+       unsigned char flags;    /* session flags */
        unsigned char nodev;    /* set to 1 if no disable device mapping */
-       unsigned short port;    /* port to connect to */
        unsigned short debug;   /* debug level */
-       unsigned short proto;   /* protocol to use */
        unsigned int afid;      /* authentication fid */
-       unsigned int rfdno;     /* read file descriptor number */
-       unsigned int wfdno;     /* write file descriptor number */
        unsigned int cache;     /* cache mode */
 
+       char *options;          /* copy of mount options */
        char *name;             /* user name to mount as */
        char *remotename;       /* name of remote hierarchy being mounted */
        unsigned int uid;       /* default uid/muid for legacy support */
        unsigned int gid;       /* default gid for legacy support */
-
+       struct p9_trans_module *trans; /* 9p transport */
        struct p9_client *clnt; /* 9p client */
        struct dentry *debugfs_dir;
 };
 
-/* possible values of ->proto */
+/* session flags */
 enum {
-       PROTO_TCP,
-       PROTO_UNIX,
-       PROTO_FD,
-       PROTO_PCI,
+       V9FS_EXTENDED,
 };
 
 /* possible values of ->cache */
@@ -81,3 +75,8 @@ static inline struct v9fs_session_info *v9fs_inode2v9ses(struct inode *inode)
 {
        return (inode->i_sb->s_fs_info);
 }
+
+static inline int v9fs_extended(struct v9fs_session_info *v9ses)
+{
+       return v9ses->flags & V9FS_EXTENDED;
+}