cpuset: PF_SPREAD_PAGE and PF_SPREAD_SLAB should be atomic flags
[pandora-kernel.git] / include / linux / nfs_xdr.h
index 9a1396e..0040629 100644 (file)
@@ -993,6 +993,7 @@ struct nfs4_setclientid {
        unsigned int                    sc_uaddr_len;
        char                            sc_uaddr[RPCBIND_MAXUADDRLEN + 1];
        u32                             sc_cb_ident;
+       struct rpc_cred                 *sc_cred;
 };
 
 struct nfs4_setclientid_res {
@@ -1253,18 +1254,12 @@ enum {
        NFS_IOHDR_ERROR = 0,
        NFS_IOHDR_EOF,
        NFS_IOHDR_REDO,
-       NFS_IOHDR_NEED_COMMIT,
-       NFS_IOHDR_NEED_RESCHED,
 };
 
-struct nfs_pgio_data;
-
 struct nfs_pgio_header {
        struct inode            *inode;
        struct rpc_cred         *cred;
        struct list_head        pages;
-       struct nfs_pgio_data    *data;
-       atomic_t                refcnt;
        struct nfs_page         *req;
        struct nfs_writeverf    verf;           /* Used for writes */
        struct pnfs_layout_segment *lseg;
@@ -1281,28 +1276,22 @@ struct nfs_pgio_header {
        int                     error;          /* merge with pnfs_error */
        unsigned long           good_bytes;     /* boundary of good data */
        unsigned long           flags;
-};
 
-struct nfs_pgio_data {
-       struct nfs_pgio_header  *header;
+       /*
+        * rpc data
+        */
        struct rpc_task         task;
        struct nfs_fattr        fattr;
-       struct nfs_writeverf    verf;           /* Used for writes */
        struct nfs_pgio_args    args;           /* argument struct */
        struct nfs_pgio_res     res;            /* result struct */
        unsigned long           timestamp;      /* For lease renewal */
-       int (*pgio_done_cb) (struct rpc_task *task, struct nfs_pgio_data *data);
+       int (*pgio_done_cb)(struct rpc_task *, struct nfs_pgio_header *);
        __u64                   mds_offset;     /* Filelayout dense stripe */
-       struct nfs_page_array   pages;
+       struct nfs_page_array   page_array;
        struct nfs_client       *ds_clp;        /* pNFS data server */
        int                     ds_idx;         /* ds index if ds_clp is set */
 };
 
-struct nfs_rw_header {
-       struct nfs_pgio_header  header;
-       struct nfs_pgio_data    rpc_data;
-};
-
 struct nfs_mds_commit_info {
        atomic_t rpcs_out;
        unsigned long           ncommit;
@@ -1432,11 +1421,12 @@ struct nfs_rpc_ops {
                             struct nfs_pathconf *);
        int     (*set_capabilities)(struct nfs_server *, struct nfs_fh *);
        int     (*decode_dirent)(struct xdr_stream *, struct nfs_entry *, int);
-       int     (*pgio_rpc_prepare)(struct rpc_task *, struct nfs_pgio_data *);
-       void    (*read_setup)   (struct nfs_pgio_data *, struct rpc_message *);
-       int     (*read_done)  (struct rpc_task *, struct nfs_pgio_data *);
-       void    (*write_setup)  (struct nfs_pgio_data *, struct rpc_message *);
-       int     (*write_done)  (struct rpc_task *, struct nfs_pgio_data *);
+       int     (*pgio_rpc_prepare)(struct rpc_task *,
+                                   struct nfs_pgio_header *);
+       void    (*read_setup)(struct nfs_pgio_header *, struct rpc_message *);
+       int     (*read_done)(struct rpc_task *, struct nfs_pgio_header *);
+       void    (*write_setup)(struct nfs_pgio_header *, struct rpc_message *);
+       int     (*write_done)(struct rpc_task *, struct nfs_pgio_header *);
        void    (*commit_setup) (struct nfs_commit_data *, struct rpc_message *);
        void    (*commit_rpc_prepare)(struct rpc_task *, struct nfs_commit_data *);
        int     (*commit_done) (struct rpc_task *, struct nfs_commit_data *);