An nfsd thread can call use_gss_proxy and find it set to '1' but find
gssp_clnt still NULL, so that when it attempts the upcall the result
will be an unnecessary -EIO.
So, ensure that gssp_clnt is created first, and set the use_gss_proxy
variable only if that succeeds.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
                return res;
        if (i != 1)
                return -EINVAL;
-       res = set_gss_proxy(net, 1);
+       res = set_gssp_clnt(net);
        if (res)
                return res;
-       res = set_gssp_clnt(net);
+       res = set_gss_proxy(net, 1);
        if (res)
                return res;
        return count;