diff options
author | Manoj Naik <manoj@almaden.ibm.com> | 2006-06-09 17:34:23 +0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-06-09 17:34:23 +0400 |
commit | 7aaa0b3bd4d215d9ce4d62b6c2043a63ba650f93 (patch) | |
tree | 122b502bc56a00dcb60d2de211e5ea6eeac9e028 /include/linux/nfs_xdr.h | |
parent | 683b57b435326eb512c7305892683b6205669448 (diff) | |
download | linux-7aaa0b3bd4d215d9ce4d62b6c2043a63ba650f93.tar.xz |
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.h | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index 15a20b815302..d6eea8348728 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 { |