summaryrefslogtreecommitdiffstats
path: root/include/linux/nfs_xdr.h
diff options
context:
space:
mode:
authorManoj Naik <manoj@almaden.ibm.com>2006-06-09 09:34:23 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2006-06-09 09:34:23 -0400
commit7aaa0b3bd4d215d9ce4d62b6c2043a63ba650f93 (patch)
tree122b502bc56a00dcb60d2de211e5ea6eeac9e028 /include/linux/nfs_xdr.h
parent683b57b435326eb512c7305892683b6205669448 (diff)
NFSv4: convert fs-locations-components to conform to RFC3530
Use component4-style formats for decoding list of servers and pathnames in fs_locations. Signed-off-by: Manoj Naik <manoj@almaden.ibm.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/nfs_xdr.h')
-rw-r--r--include/linux/nfs_xdr.h30
1 files changed, 20 insertions, 10 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index 15a20b81530..d6eea834872 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -679,21 +679,31 @@ struct nfs4_server_caps_res {
u32 has_symlinks;
};
-struct nfs_fs_location {
- unsigned int serverlen;
- char * server;
- unsigned int rootpathlen;
- char * rootpath;
+struct nfs4_string {
+ unsigned int len;
+ char *data;
};
-#define NFS_FS_LOCATIONS_MAXENTRIES 10
-struct nfs_fs_locations {
+#define NFS4_PATHNAME_MAXCOMPONENTS 512
+struct nfs4_pathname {
+ unsigned int ncomponents;
+ struct nfs4_string components[NFS4_PATHNAME_MAXCOMPONENTS];
+};
+
+#define NFS4_FS_LOCATION_MAXSERVERS 10
+struct nfs4_fs_location {
+ unsigned int nservers;
+ struct nfs4_string servers[NFS4_FS_LOCATION_MAXSERVERS];
+ struct nfs4_pathname rootpath;
+};
+
+#define NFS4_FS_LOCATIONS_MAXENTRIES 10
+struct nfs4_fs_locations {
struct nfs_fattr fattr;
const struct nfs_server *server;
- unsigned int fs_pathlen;
- char * fs_path;
+ struct nfs4_pathname fs_path;
int nlocations;
- struct nfs_fs_location locations[NFS_FS_LOCATIONS_MAXENTRIES];
+ struct nfs4_fs_location locations[NFS4_FS_LOCATIONS_MAXENTRIES];
};
struct nfs4_fs_locations_arg {