Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ea33e6c3 authored by Trond Myklebust's avatar Trond Myklebust
Browse files

NFSv4: Fix issues in nfs4_discover_server_trunking



- Ensure that we exit with ENOENT if the call to ops->get_clid_cred()
  fails.
- Handle the case where ops->detect_trunking() exits with an
  unexpected error, and return EIO.

Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 23631227
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -1876,8 +1876,8 @@ int nfs4_discover_server_trunking(struct nfs_client *clp,
	i = 0;

	mutex_lock(&nfs_clid_init_mutex);
	status  = -ENOENT;
again:
	status  = -ENOENT;
	cred = ops->get_clid_cred(clp);
	if (cred == NULL)
		goto out_unlock;
@@ -1916,6 +1916,11 @@ again:
	case -NFS4ERR_NOT_SAME: /* FixMe: implement recovery
				 * in nfs4_exchange_id */
		status = -EKEYEXPIRED;
		break;
	default:
		pr_warn("NFS: %s unhandled error %d. Exiting with error EIO\n",
				__func__, status);
		status = -EIO;
	}

out_unlock: