From: Anna Schumaker Date: Tue, 1 Oct 2024 20:33:43 +0000 (-0400) Subject: NFS: Clean up find_nfs_version() X-Git-Tag: microblaze-v6.16~486^2~20 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=3c91e4b7ae902bd5c05c14ff6fe74acd0bdd237a;p=linux-2.6-microblaze.git NFS: Clean up find_nfs_version() 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 Signed-off-by: Trond Myklebust --- diff --git a/fs/nfs/client.c b/fs/nfs/client.c index 27f862490f82..4c94fe419c40 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c @@ -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; }