Date: Fri, 7 Jul 2006 19:30:09 GMT From: Craig Rodrigues <rodrigc@FreeBSD.org> To: rodrigc@FreeBSD.org, freebsd-bugs@FreeBSD.org, rodrigc@FreeBSD.org Subject: Re: bin/99873: [patch] mountd(8) reload fails Message-ID: <200607071930.k67JU9Oc008282@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
Synopsis: [patch] mountd(8) reload fails Responsible-Changed-From-To: freebsd-bugs->rodrigc Responsible-Changed-By: rodrigc Responsible-Changed-When: Fri Jul 7 19:27:38 UTC 2006 Responsible-Changed-Why: Does this patch, which is a slight variation of your patch work for you? Index: mountd.c =================================================================== RCS file: /home/ncvs/src/usr.sbin/mountd/mountd.c,v retrieving revision 1.87 diff -u -u -r1.87 mountd.c --- mountd.c 6 Jun 2006 21:56:49 -0000 1.87 +++ mountd.c 7 Jul 2006 19:26:43 -0000 @@ -963,7 +963,7 @@ struct export_args export; struct dirlist *dirhead; struct iovec *iov; - struct statfs fsb, *fsp; + struct statfs fsb, *fsp, *mntbufp; struct xucred anon; struct xvfsconf vfc; char *cp, *endcp, *dirp, *hst, *usr, *dom, savedc; @@ -1001,10 +1001,9 @@ /* * And delete exports that are in the kernel for all local * filesystems. - * XXX: Should know how to handle all local exportable filesystems - * instead of just "ufs". + * XXX: Should know how to handle all local exportable filesystems. */ - num = getmntinfo(&fsp, MNT_NOWAIT); + num = getmntinfo(&mntbufp, MNT_NOWAIT); if (num > 0) { build_iovec(&iov, &iovlen, "fstype", NULL, 0); @@ -1016,6 +1015,7 @@ } for (i = 0; i < num; i++) { + fsp = &mntbufp[i]; if (getvfsbyname(fsp->f_fstypename, &vfc) != 0) { syslog(LOG_ERR, "getvfsbyname() failed for %s", fsp->f_fstypename); @@ -1052,7 +1052,6 @@ "can't delete exports for %s: %m %s", fsp->f_mntonname, errmsg); } - fsp++; } if (iov != NULL) { http://www.freebsd.org/cgi/query-pr.cgi?pr=99873
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607071930.k67JU9Oc008282>