NFSv4: Implement the fs_locations function call

NFSv4 allows for the fact that filesystems may be replicated across
several servers or that they may be migrated to a backup server in case of
failure of the primary server.
fs_locations is an NFSv4 operation for retrieving information about the
location of migrated and/or replicated filesystems.

Based on an initial implementation by Jiaying Zhang <jiayingz@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
Trond Myklebust
2006-06-09 09:34:22 -04:00
parent 8b23ea7bed
commit 683b57b435
5 changed files with 166 additions and 2 deletions

View File

@@ -679,6 +679,30 @@ struct nfs4_server_caps_res {
u32 has_symlinks;
};
struct nfs_fs_location {
unsigned int serverlen;
char * server;
unsigned int rootpathlen;
char * rootpath;
};
#define NFS_FS_LOCATIONS_MAXENTRIES 10
struct nfs_fs_locations {
struct nfs_fattr fattr;
const struct nfs_server *server;
unsigned int fs_pathlen;
char * fs_path;
int nlocations;
struct nfs_fs_location locations[NFS_FS_LOCATIONS_MAXENTRIES];
};
struct nfs4_fs_locations_arg {
const struct nfs_fh *dir_fh;
const struct qstr *name;
struct page *page;
const u32 *bitmask;
};
#endif /* CONFIG_NFS_V4 */
struct nfs_page;