]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - include/linux/nfs_xdr.h
Driver core: remove class_device_*_bin_file
[mv-sheeva.git] / include / linux / nfs_xdr.h
index 38d77681cf2796b5343f7e419ed769374ca368f4..daab252f2e5cf653e41bb39721596bfc7aa89315 100644 (file)
@@ -62,7 +62,8 @@ struct nfs_fattr {
 #define NFS_ATTR_FATTR         0x0002          /* post-op attributes */
 #define NFS_ATTR_FATTR_V3      0x0004          /* NFSv3 attributes */
 #define NFS_ATTR_FATTR_V4      0x0008          /* NFSv4 change attribute */
-#define NFS_ATTR_FATTR_V4_REFERRAL     0x0010          /* NFSv4 referral */
+#define NFS_ATTR_WCC_V4                0x0010          /* pre-op change attribute */
+#define NFS_ATTR_FATTR_V4_REFERRAL     0x0020          /* NFSv4 referral */
 
 /*
  * Info on the file system
@@ -277,6 +278,21 @@ struct nfs_writeres {
        const struct nfs_server *server;
 };
 
+/*
+ * Common arguments to the unlink call
+ */
+struct nfs_removeargs {
+       const struct nfs_fh     *fh;
+       struct qstr             name;
+       const u32 *             bitmask;
+};
+
+struct nfs_removeres {
+       const struct nfs_server *server;
+       struct nfs4_change_info cinfo;
+       struct nfs_fattr        dir_attr;
+};
+
 /*
  * Argument struct for decode_entry function
  */
@@ -523,10 +539,13 @@ typedef u64 clientid4;
 
 struct nfs4_accessargs {
        const struct nfs_fh *           fh;
+       const u32 *                     bitmask;
        u32                             access;
 };
 
 struct nfs4_accessres {
+       const struct nfs_server *       server;
+       struct nfs_fattr *              fattr;
        u32                             supported;
        u32                             access;
 };
@@ -631,18 +650,6 @@ struct nfs4_readlink {
        struct page **                  pages;   /* zero-copy data */
 };
 
-struct nfs4_remove_arg {
-       const struct nfs_fh *           fh;
-       const struct qstr *             name;
-       const u32 *                     bitmask;
-};
-
-struct nfs4_remove_res {
-       const struct nfs_server *       server;
-       struct nfs4_change_info         cinfo;
-       struct nfs_fattr *              dir_attr;
-};
-
 struct nfs4_rename_arg {
        const struct nfs_fh *           old_dir;
        const struct nfs_fh *           new_dir;
@@ -788,9 +795,8 @@ struct nfs_rpc_ops {
        int     (*create)  (struct inode *, struct dentry *,
                            struct iattr *, int, struct nameidata *);
        int     (*remove)  (struct inode *, struct qstr *);
-       int     (*unlink_setup)  (struct rpc_message *,
-                           struct dentry *, struct qstr *);
-       int     (*unlink_done) (struct dentry *, struct rpc_task *);
+       void    (*unlink_setup)  (struct rpc_message *, struct inode *dir);
+       int     (*unlink_done) (struct rpc_task *, struct inode *);
        int     (*rename)  (struct inode *, struct qstr *,
                            struct inode *, struct qstr *);
        int     (*link)    (struct inode *, struct inode *, struct qstr *);