These four patches introduce the ability to mount NFS servers using a raw
IPv6 address. This support requires the ability to handle colons in the
passed-in server hostname, and the ability to handle an IPv6 interface
identifier in the passed-in server hostname.
IPv6 addresses contain colons. A colon is also used to separate the server
name from the export path. By enclosing an IPv6 address inside square
brackets we effectively escape the colons in the IPv6 address and allow them
to pass unrecognized through the device name parser.
As an added bonus, I also include the patch that changes
nfs_parse_server_address() to take a name length. This allows the passed-in
address string to have no '\0'-termination, which will help us support IPv6
for NFSv4 referrals.
This series corrects the compile problems noted by Stephen Rothwell, allowing
proper "git bisect" operation.
Chuck Lever (4):
NFS: handle interface identifiers in incoming IPv6 addresses
NFS: Add string length argument to nfs_parse_server_address
NFS: Support raw IPv6 address hostnames during NFS mount operation
NFS: Use common device name parsing logic for NFSv4 and NFSv2/v3
fs/nfs/super.c | 345 ++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 270 insertions(+), 75 deletions(-)
chu ckl eve rat ora cle dot com