Skip to content

Commit

Permalink
NFS: Parse and store all multipath DS addresses
Browse files Browse the repository at this point in the history
This parses and stores all addresses associated with each data server,
laying the groundwork for supporting multipath to data servers.

 - Skips over addresses that cannot be parsed (ie IPv6 addrs if v6 is not
   enabled).  Only fails if none of the addresses are recognizable
 - Currently only uses the first address that parsed cleanly
 - Tested against pynfs server (modified to support multipath)

Signed-off-by: Weston Andros Adamson <[email protected]>
Signed-off-by: Trond Myklebust <[email protected]>
  • Loading branch information
westonandrosadamson authored and Trond Myklebust committed Jul 12, 2011
1 parent c9895cb commit 14f9a60
Show file tree
Hide file tree
Showing 2 changed files with 243 additions and 132 deletions.
12 changes: 9 additions & 3 deletions fs/nfs/nfs4filelayout.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,17 @@ enum stripetype4 {
};

/* Individual ip address */
struct nfs4_pnfs_ds_addr {
struct sockaddr_storage da_addr;
size_t da_addrlen;
struct list_head da_node; /* nfs4_pnfs_dev_hlist dev_dslist */
char *da_remotestr; /* human readable addr+port */
};

struct nfs4_pnfs_ds {
struct list_head ds_node; /* nfs4_pnfs_dev_hlist dev_dslist */
struct sockaddr_storage ds_addr;
size_t ds_addrlen;
char *ds_remotestr; /* human readable addr+port */
char *ds_remotestr; /* comma sep list of addrs */
struct list_head ds_addrs;
struct nfs_client *ds_clp;
atomic_t ds_count;
};
Expand Down
Loading

0 comments on commit 14f9a60

Please sign in to comment.