Commit 89b24336 authored by NeilBrown's avatar NeilBrown Committed by Chuck Lever
Browse files

NFSD: handle errors better in write_ports_addfd()



If write_ports_add() fails, we shouldn't destroy the serv, unless we had
only just created it.  So if there are any permanent sockets already
attached, leave the serv in place.

Signed-off-by: default avatarNeilBrown <neilb@suse.de>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent c2f1c4bd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -742,7 +742,7 @@ static ssize_t __write_ports_addfd(char *buf, struct net *net, const struct cred
		return err;

	err = svc_addsock(nn->nfsd_serv, fd, buf, SIMPLE_TRANSACTION_LIMIT, cred);
	if (err < 0) {
	if (err < 0 && list_empty(&nn->nfsd_serv->sv_permsocks)) {
		nfsd_destroy(net);
		return err;
	}