aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4filelayout.c
diff options
context:
space:
mode:
authorWeston Andros Adamson <dros@netapp.com>2011-05-31 18:48:56 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2011-07-12 13:40:26 -0400
commitc9895cb69b07a4b17d8fdae26667f9a9fba5183b (patch)
tree743aab596a936684948fbdb550f5bdbb96381b9c /fs/nfs/nfs4filelayout.c
parent82c2c8b8616fa9e77264c53f0df483f74ac54613 (diff)
NFS: pnfs IPv6 support
Handle ipv6 remote addresses from GETDEVICEINFO - supports netid "tcp" for ipv4 and "tcp6" for ipv6 as rfc 5665 specifies - added ds_remotestr to avoid having to handle different AFs in every dprintk - tested against pynfs 4.1 server, submitting ipv6 support patch to pynfs - tested with IPv6 disabled, it compiles cleanly and relies on rpc_pton to refuse to accept IPv6 addresses Signed-off-by: Weston Andros Adamson <dros@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4filelayout.c')
-rw-r--r--fs/nfs/nfs4filelayout.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/nfs/nfs4filelayout.c b/fs/nfs/nfs4filelayout.c
index f9d03abcd04c..b690bb5ee58d 100644
--- a/fs/nfs/nfs4filelayout.c
+++ b/fs/nfs/nfs4filelayout.c
@@ -344,8 +344,7 @@ filelayout_read_pagelist(struct nfs_read_data *data)
344 set_bit(lo_fail_bit(IOMODE_READ), &lseg->pls_layout->plh_flags); 344 set_bit(lo_fail_bit(IOMODE_READ), &lseg->pls_layout->plh_flags);
345 return PNFS_NOT_ATTEMPTED; 345 return PNFS_NOT_ATTEMPTED;
346 } 346 }
347 dprintk("%s USE DS:ip %x %hu\n", __func__, 347 dprintk("%s USE DS: %s\n", __func__, ds->ds_remotestr);
348 ntohl(ds->ds_ip_addr), ntohs(ds->ds_port));
349 348
350 /* No multipath support. Use first DS */ 349 /* No multipath support. Use first DS */
351 data->ds_clp = ds->ds_clp; 350 data->ds_clp = ds->ds_clp;
@@ -384,9 +383,9 @@ filelayout_write_pagelist(struct nfs_write_data *data, int sync)
384 set_bit(lo_fail_bit(IOMODE_READ), &lseg->pls_layout->plh_flags); 383 set_bit(lo_fail_bit(IOMODE_READ), &lseg->pls_layout->plh_flags);
385 return PNFS_NOT_ATTEMPTED; 384 return PNFS_NOT_ATTEMPTED;
386 } 385 }
387 dprintk("%s ino %lu sync %d req %Zu@%llu DS:%x:%hu\n", __func__, 386 dprintk("%s ino %lu sync %d req %Zu@%llu DS: %s\n", __func__,
388 data->inode->i_ino, sync, (size_t) data->args.count, offset, 387 data->inode->i_ino, sync, (size_t) data->args.count, offset,
389 ntohl(ds->ds_ip_addr), ntohs(ds->ds_port)); 388 ds->ds_remotestr);
390 389
391 data->write_done_cb = filelayout_write_done_cb; 390 data->write_done_cb = filelayout_write_done_cb;
392 data->ds_clp = ds->ds_clp; 391 data->ds_clp = ds->ds_clp;