From owner-freebsd-bugs@FreeBSD.ORG Fri Jul 7 19:30:10 2006 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4F0EB16A4E1; Fri, 7 Jul 2006 19:30:10 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id E7FFC43D6D; Fri, 7 Jul 2006 19:30:09 +0000 (GMT) (envelope-from rodrigc@FreeBSD.org) Received: from freefall.freebsd.org (rodrigc@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k67JU97m008286; Fri, 7 Jul 2006 19:30:09 GMT (envelope-from rodrigc@freefall.freebsd.org) Received: (from rodrigc@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k67JU9Oc008282; Fri, 7 Jul 2006 19:30:09 GMT (envelope-from rodrigc) Date: Fri, 7 Jul 2006 19:30:09 GMT From: Craig Rodrigues Message-Id: <200607071930.k67JU9Oc008282@freefall.freebsd.org> To: rodrigc@FreeBSD.org, freebsd-bugs@FreeBSD.org, rodrigc@FreeBSD.org Cc: Subject: Re: bin/99873: [patch] mountd(8) reload fails X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Jul 2006 19:30:10 -0000 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