svn commit: r335915 - projects/pnfs-planb-server/sys/fs/nfsserver

Rick Macklem rmacklem at FreeBSD.org
Tue Jul 3 22:54:47 UTC 2018


Author: rmacklem
Date: Tue Jul  3 22:54:46 2018
New Revision: 335915
URL: https://svnweb.freebsd.org/changeset/base/335915

Log:
  Fix a check for a valid mirror when there are both DSs for all file systems
  and DSs assigned to specific MDS file systems via the optional "#mds_path"
  suffix for the entry in the "-p" option.
  I had not thought that mixing "all DSs" and "specific assigned DS" would
  make sense, but I now think that this case would be useful and should
  work correctly.

Modified:
  projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c

Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c
==============================================================================
--- projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c	Tue Jul  3 22:11:16 2018	(r335914)
+++ projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c	Tue Jul  3 22:54:46 2018	(r335915)
@@ -7597,7 +7597,7 @@ nfsrv_delds(char *devid, NFSPROC_T *p)
 	}
 	if (fndds->nfsdev_mdsisset == 0 && nfsrv_faildscnt > 0)
 		fndmirror = 1;
-	else {
+	else if (fndds->nfsdev_mdsisset != 0) {
 		/* For the fsid is set case, search for a mirror. */
 		TAILQ_FOREACH(ds, &nfsrv_devidhead, nfsdev_list) {
 			if (ds != fndds && ds->nfsdev_nmp != NULL &&
@@ -8463,7 +8463,7 @@ nfsrv_findmirroredds(struct nfsmount *nmp)
 		return (fndds);
 	if (fndds->nfsdev_mdsisset == 0 && nfsrv_faildscnt > 0)
 		fndmirror = 1;
-	else {
+	else if (fndds->nfsdev_mdsisset != 0) {
 		/* For the fsid is set case, search for a mirror. */
 		TAILQ_FOREACH(ds, &nfsrv_devidhead, nfsdev_list) {
 			if (ds != fndds && ds->nfsdev_nmp != NULL &&


More information about the svn-src-projects mailing list