git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sched: allow architectures to specify sched_clock_stable
[safe/jmp/linux-2.6]
/
include
/
linux
/
nfs_xdr.h
diff --git
a/include/linux/nfs_xdr.h
b/include/linux/nfs_xdr.h
index
768c1ad
..
a550b52
100644
(file)
--- a/
include/linux/nfs_xdr.h
+++ b/
include/linux/nfs_xdr.h
@@
-36,6
+36,7
@@
struct nfs_fattr {
__u32 nlink;
__u32 uid;
__u32 gid;
__u32 nlink;
__u32 uid;
__u32 gid;
+ dev_t rdev;
__u64 size;
union {
struct {
__u64 size;
union {
struct {
@@
-46,7
+47,6
@@
struct nfs_fattr {
__u64 used;
} nfs3;
} du;
__u64 used;
} nfs3;
} du;
- dev_t rdev;
struct nfs_fsid fsid;
__u64 fileid;
struct timespec atime;
struct nfs_fsid fsid;
__u64 fileid;
struct timespec atime;
@@
-56,13
+56,15
@@
struct nfs_fattr {
__u64 change_attr; /* NFSv4 change attribute */
__u64 pre_change_attr;/* pre-op NFSv4 change attribute */
unsigned long time_start;
__u64 change_attr; /* NFSv4 change attribute */
__u64 pre_change_attr;/* pre-op NFSv4 change attribute */
unsigned long time_start;
+ unsigned long gencount;
};
#define NFS_ATTR_WCC 0x0001 /* pre-op WCC data */
#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_WCC 0x0001 /* pre-op WCC data */
#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
/*
* Info on the file system
@@
-118,13
+120,14
@@
struct nfs_openargs {
const struct nfs_fh * fh;
struct nfs_seqid * seqid;
int open_flags;
const struct nfs_fh * fh;
struct nfs_seqid * seqid;
int open_flags;
+ fmode_t fmode;
__u64 clientid;
__u64 clientid;
- __u
32
id;
+ __u
64
id;
union {
struct iattr * attrs; /* UNCHECKED, GUARDED */
nfs4_verifier verifier; /* EXCLUSIVE */
nfs4_stateid delegation; /* CLAIM_DELEGATE_CUR */
union {
struct iattr * attrs; /* UNCHECKED, GUARDED */
nfs4_verifier verifier; /* EXCLUSIVE */
nfs4_stateid delegation; /* CLAIM_DELEGATE_CUR */
-
int
delegation_type; /* CLAIM_PREVIOUS */
+
fmode_t
delegation_type; /* CLAIM_PREVIOUS */
} u;
const struct qstr * name;
const struct nfs_server *server; /* Needed for ID mapping */
} u;
const struct qstr * name;
const struct nfs_server *server; /* Needed for ID mapping */
@@
-139,11
+142,13
@@
struct nfs_openres {
__u32 rflags;
struct nfs_fattr * f_attr;
struct nfs_fattr * dir_attr;
__u32 rflags;
struct nfs_fattr * f_attr;
struct nfs_fattr * dir_attr;
+ struct nfs_seqid * seqid;
const struct nfs_server *server;
const struct nfs_server *server;
-
int
delegation_type;
+
fmode_t
delegation_type;
nfs4_stateid delegation;
__u32 do_recall;
__u64 maxsize;
nfs4_stateid delegation;
__u32 do_recall;
__u64 maxsize;
+ __u32 attrset[NFS4_BITMAP_SIZE];
};
/*
};
/*
@@
-157,6
+162,7
@@
struct nfs_open_confirmargs {
struct nfs_open_confirmres {
nfs4_stateid stateid;
struct nfs_open_confirmres {
nfs4_stateid stateid;
+ struct nfs_seqid * seqid;
};
/*
};
/*
@@
-166,13
+172,14
@@
struct nfs_closeargs {
struct nfs_fh * fh;
nfs4_stateid * stateid;
struct nfs_seqid * seqid;
struct nfs_fh * fh;
nfs4_stateid * stateid;
struct nfs_seqid * seqid;
-
int open_flags
;
+
fmode_t fmode
;
const u32 * bitmask;
};
struct nfs_closeres {
nfs4_stateid stateid;
struct nfs_fattr * fattr;
const u32 * bitmask;
};
struct nfs_closeres {
nfs4_stateid stateid;
struct nfs_fattr * fattr;
+ struct nfs_seqid * seqid;
const struct nfs_server *server;
};
/*
const struct nfs_server *server;
};
/*
@@
-180,7
+187,7
@@
struct nfs_closeres {
* */
struct nfs_lowner {
__u64 clientid;
* */
struct nfs_lowner {
__u64 clientid;
-
u32
id;
+
__u64
id;
};
struct nfs_lock_args {
};
struct nfs_lock_args {
@@
-197,7
+204,9
@@
struct nfs_lock_args {
};
struct nfs_lock_res {
};
struct nfs_lock_res {
- nfs4_stateid stateid;
+ nfs4_stateid stateid;
+ struct nfs_seqid * lock_seqid;
+ struct nfs_seqid * open_seqid;
};
struct nfs_locku_args {
};
struct nfs_locku_args {
@@
-208,7
+217,8
@@
struct nfs_locku_args {
};
struct nfs_locku_res {
};
struct nfs_locku_res {
- nfs4_stateid stateid;
+ nfs4_stateid stateid;
+ struct nfs_seqid * seqid;
};
struct nfs_lockt_args {
};
struct nfs_lockt_args {
@@
-277,6
+287,21
@@
struct nfs_writeres {
};
/*
};
/*
+ * 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
*/
struct nfs_entry {
* Argument struct for decode_entry function
*/
struct nfs_entry {
@@
-522,10
+547,13
@@
typedef u64 clientid4;
struct nfs4_accessargs {
const struct nfs_fh * fh;
struct nfs4_accessargs {
const struct nfs_fh * fh;
+ const u32 * bitmask;
u32 access;
};
struct nfs4_accessres {
u32 access;
};
struct nfs4_accessres {
+ const struct nfs_server * server;
+ struct nfs_fattr * fattr;
u32 supported;
u32 access;
};
u32 supported;
u32 access;
};
@@
-630,18
+658,6
@@
struct nfs4_readlink {
struct page ** pages; /* zero-copy data */
};
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;
struct nfs4_rename_arg {
const struct nfs_fh * old_dir;
const struct nfs_fh * new_dir;
@@
-658,16
+674,17
@@
struct nfs4_rename_res {
struct nfs_fattr * new_fattr;
};
struct nfs_fattr * new_fattr;
};
+#define NFS4_SETCLIENTID_NAMELEN (127)
struct nfs4_setclientid {
struct nfs4_setclientid {
- const nfs4_verifier * sc_verifier;
/* request */
+ const nfs4_verifier * sc_verifier;
unsigned int sc_name_len;
unsigned int sc_name_len;
- char sc_name[
48]; /* request */
- u32 sc_prog;
/* request */
+ char sc_name[
NFS4_SETCLIENTID_NAMELEN + 1];
+ u32 sc_prog;
unsigned int sc_netid_len;
unsigned int sc_netid_len;
- char sc_netid[
4]; /* request */
+ char sc_netid[
RPCBIND_MAXNETIDLEN + 1];
unsigned int sc_uaddr_len;
unsigned int sc_uaddr_len;
- char sc_uaddr[
24]; /* request */
- u32 sc_cb_ident;
/* request */
+ char sc_uaddr[
RPCBIND_MAXUADDRLEN + 1];
+ u32 sc_cb_ident;
};
struct nfs4_statfs_arg {
};
struct nfs4_statfs_arg {
@@
-765,10
+782,10
@@
struct nfs_access_entry;
* RPC procedure vector for NFSv2/NFSv3 demuxing
*/
struct nfs_rpc_ops {
* RPC procedure vector for NFSv2/NFSv3 demuxing
*/
struct nfs_rpc_ops {
-
int
version; /* Protocol version */
+
u32
version; /* Protocol version */
struct dentry_operations *dentry_ops;
struct dentry_operations *dentry_ops;
- struct inode_operations *dir_inode_ops;
- struct inode_operations *file_inode_ops;
+
const
struct inode_operations *dir_inode_ops;
+
const
struct inode_operations *file_inode_ops;
int (*getroot) (struct nfs_server *, struct nfs_fh *,
struct nfs_fsinfo *);
int (*getroot) (struct nfs_server *, struct nfs_fh *,
struct nfs_fsinfo *);
@@
-784,15
+801,11
@@
struct nfs_rpc_ops {
int (*access) (struct inode *, struct nfs_access_entry *);
int (*readlink)(struct inode *, struct page *, unsigned int,
unsigned int);
int (*access) (struct inode *, struct nfs_access_entry *);
int (*readlink)(struct inode *, struct page *, unsigned int,
unsigned int);
- int (*read) (struct nfs_read_data *);
- int (*write) (struct nfs_write_data *);
- int (*commit) (struct nfs_write_data *);
int (*create) (struct inode *, struct dentry *,
struct iattr *, int, struct nameidata *);
int (*remove) (struct inode *, struct qstr *);
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 *);
int (*rename) (struct inode *, struct qstr *,
struct inode *, struct qstr *);
int (*link) (struct inode *, struct inode *, struct qstr *);
@@
-812,15
+825,14
@@
struct nfs_rpc_ops {
struct nfs_pathconf *);
int (*set_capabilities)(struct nfs_server *, struct nfs_fh *);
__be32 *(*decode_dirent)(__be32 *, struct nfs_entry *, int plus);
struct nfs_pathconf *);
int (*set_capabilities)(struct nfs_server *, struct nfs_fh *);
__be32 *(*decode_dirent)(__be32 *, struct nfs_entry *, int plus);
- void (*read_setup) (struct nfs_read_data *);
+ void (*read_setup) (struct nfs_read_data *
, struct rpc_message *
);
int (*read_done) (struct rpc_task *, struct nfs_read_data *);
int (*read_done) (struct rpc_task *, struct nfs_read_data *);
- void (*write_setup) (struct nfs_write_data *,
int how
);
+ void (*write_setup) (struct nfs_write_data *,
struct rpc_message *
);
int (*write_done) (struct rpc_task *, struct nfs_write_data *);
int (*write_done) (struct rpc_task *, struct nfs_write_data *);
- void (*commit_setup) (struct nfs_write_data *,
int how
);
+ void (*commit_setup) (struct nfs_write_data *,
struct rpc_message *
);
int (*commit_done) (struct rpc_task *, struct nfs_write_data *);
int (*commit_done) (struct rpc_task *, struct nfs_write_data *);
- int (*file_open) (struct inode *, struct file *);
- int (*file_release) (struct inode *, struct file *);
int (*lock)(struct file *, int, struct file_lock *);
int (*lock)(struct file *, int, struct file_lock *);
+ int (*lock_check_bounds)(const struct file_lock *);
void (*clear_acl_cache)(struct inode *);
};
void (*clear_acl_cache)(struct inode *);
};