]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
NFS: Clean up find_nfs_version()
authorAnna Schumaker <anna.schumaker@oracle.com>
Tue, 1 Oct 2024 20:33:43 +0000 (16:33 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Fri, 8 Nov 2024 19:17:37 +0000 (14:17 -0500)
It's good practice to check the return value of request_module() to see
if the module has been found. It's also a little easier to follow the
code if __find_nfs_version() doesn't attempt to convert NULL pointers
into -EPROTONOSUPPORT.

Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/client.c

index 27f862490f82d1d1e5dab91b1031630daa8e2b8d..4c94fe419c406ec7993776deb62ccbd164c364bb 100644 (file)
@@ -87,9 +87,6 @@ static struct nfs_subversion *__find_nfs_version(unsigned int version)
        read_lock(&nfs_version_lock);
        nfs = nfs_version_mods[version];
        read_unlock(&nfs_version_lock);
-
-       if (nfs == NULL)
-               return ERR_PTR(-EPROTONOSUPPORT);
        return nfs;
 }
 
@@ -97,13 +94,15 @@ struct nfs_subversion *find_nfs_version(unsigned int version)
 {
        struct nfs_subversion *nfs = __find_nfs_version(version);
 
-       if (IS_ERR(nfs)) {
-               request_module("nfsv%d", version);
+       if (!nfs && request_module("nfsv%d", version) == 0)
                nfs = __find_nfs_version(version);
-       }
 
-       if (!IS_ERR(nfs) && !try_module_get(nfs->owner))
+       if (!nfs)
+               return ERR_PTR(-EPROTONOSUPPORT);
+
+       if (!try_module_get(nfs->owner))
                return ERR_PTR(-EAGAIN);
+
        return nfs;
 }