]> git.karo-electronics.de Git - linux-beck.git/commitdiff
nfs: refactor "need_mount" code out of nfs_try_mount
authorJeff Layton <jlayton@redhat.com>
Thu, 27 Jun 2013 19:54:38 +0000 (15:54 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Fri, 28 Jun 2013 19:49:27 +0000 (15:49 -0400)
This looks like pointless refactoring for now, but we'll flesh out
the need_mount case a little more in a later patch.

Cc: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/super.c

index 2d7525fbcf250225981ab521da638fc8f2a204d5..afeee810f453e99576a3a2aa7a4e75228b7a7842 100644 (file)
@@ -1759,21 +1759,29 @@ static int nfs_request_mount(struct nfs_parsed_mount_data *args,
        return nfs_select_flavor(args, &request);
 }
 
+static struct nfs_server *nfs_try_mount_request(struct nfs_mount_info *mount_info,
+                                       struct nfs_subversion *nfs_mod)
+{
+       int status;
+
+       status = nfs_request_mount(mount_info->parsed, mount_info->mntfh);
+       if (status)
+               return ERR_PTR(status);
+
+       return nfs_mod->rpc_ops->create_server(mount_info, nfs_mod);
+}
+
 struct dentry *nfs_try_mount(int flags, const char *dev_name,
                             struct nfs_mount_info *mount_info,
                             struct nfs_subversion *nfs_mod)
 {
-       int status;
        struct nfs_server *server;
 
-       if (mount_info->parsed->need_mount) {
-               status = nfs_request_mount(mount_info->parsed, mount_info->mntfh);
-               if (status)
-                       return ERR_PTR(status);
-       }
+       if (mount_info->parsed->need_mount)
+               server = nfs_try_mount_request(mount_info, nfs_mod);
+       else
+               server = nfs_mod->rpc_ops->create_server(mount_info, nfs_mod);
 
-       /* Get a volume representation */
-       server = nfs_mod->rpc_ops->create_server(mount_info, nfs_mod);
        if (IS_ERR(server))
                return ERR_CAST(server);