From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chuck Lever Subject: [PATCH 21/25] NFS: Refactor mount option address parsing into separate function Date: Tue, 13 Nov 2007 13:32:51 -0500 Message-ID: <20071113183251.5087.71147.stgit@manray.1015granger.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org To: nfs@lists.sourceforge.net Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: nfs-bounces@lists.sourceforge.net Errors-To: nfs-bounces@lists.sourceforge.net List-Id: netdev.vger.kernel.org Some mount options pass in a string IP address. Let's parse these strings in a separate function since this is done for at least two different mount options. This allows us to support IPv6 string addresses more easily in a subsequent patch Signed-off-by: Chuck Lever Cc: Aurelien Charbon --- fs/nfs/super.c | 20 ++++++++++++++------ 1 files changed, 14 insertions(+), 6 deletions(-) diff --git a/fs/nfs/super.c b/fs/nfs/super.c index 1831394..c09c045 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c @@ -614,6 +614,16 @@ static int nfs_verify_server_address(struct sockaddr *addr) } /* + * Parse string addresses passed in via a mount option. + */ +static void nfs_parse_server_address(char *value, + struct sockaddr_in *addr) +{ + addr->sin_family = AF_INET; + addr->sin_addr.s_addr = in_aton(value); +} + +/* * Parse the value of the 'sec=' option. */ static int nfs_parse_security_flavors(char *value, @@ -966,9 +976,8 @@ static int nfs_parse_mount_options(char *raw, string = match_strdup(args); if (string == NULL) goto out_nomem; - mnt->nfs_server.address.sin_family = AF_INET; - mnt->nfs_server.address.sin_addr.s_addr = - in_aton(string); + nfs_parse_server_address(string, + &mnt->nfs_server.address); kfree(string); break; case Opt_clientaddr: @@ -987,9 +996,8 @@ static int nfs_parse_mount_options(char *raw, string = match_strdup(args); if (string == NULL) goto out_nomem; - mnt->mount_server.address.sin_family = AF_INET; - mnt->mount_server.address.sin_addr.s_addr = - in_aton(string); + nfs_parse_server_address(string, + &mnt->mount_server.address); kfree(string); break; ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ NFS maillist - NFS@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs