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:
@@ -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;
|
||||
|
Reference in New Issue
Block a user