Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Oct 2006 00:01:11 +0200
From:      Erik Trulsson <ertr1013@student.uu.se>
To:        Rink Springer <rink@FreeBSD.org>
Cc:        stable@freebsd.org, Lin Jui-Nan Eric <ericlin.jnlin@gmail.com>
Subject:   Re: mountd changed?
Message-ID:  <20061015220111.GA10634@Update.UU.SE>
In-Reply-To: <20061015154022.GC50017@rink.nu>
References:  <47713ee10610150811w4cca315etc051e0fe14d88dab@mail.gmail.com> <20061015151924.GA50017@rink.nu> <47713ee10610150830g4dc4b747j9425d3b5194829f1@mail.gmail.com> <20061015154022.GC50017@rink.nu>

next in thread | previous in thread | raw e-mail | index | archive | help
[Second attempt to send this, since my first seems to have been eaten by my
 ISP.  Apologies if it appears twice.]

On Sun, Oct 15, 2006 at 05:40:22PM +0200, Rink Springer wrote:
> Hi,
> 
> On Sun, Oct 15, 2006 at 11:30:23PM +0800, Lin Jui-Nan Eric wrote:
> > Hi,
> > 
> > If I revert to revision 1.81.2.4, it worked correctly.
> > 
> > On 10/15/06, Rink Springer <rink@freebsd.org> wrote:
> > >Hi,
> > >
> > >Hmm, I recently changed something which might trigger this. Could you
> > >back out revision 1.81.2.5 of src/usr.sbin/mountd/mountd.c and let me
> > >know whether this fixed the problem?
> > >
> 
> OK, could you try the attached patch (untested) and let me know whether
> it works? (it patches the 1.81.2.5 revision of mountd.c)

I had the same problems, but only when trying to export directories from
the root filesystem.  Your patch below would not help.
The following patch (very much inspired by the comment on line 1038 in
mountd.c) makes things work for me:

Index: mountd.c
===================================================================
RCS file: /ncvs/src/usr.sbin/mountd/mountd.c,v
retrieving revision 1.81.2.5
diff -u -r1.81.2.5 mountd.c
--- mountd.c	14 Oct 2006 23:04:07 -0000	1.81.2.5
+++ mountd.c	15 Oct 2006 21:09:20 -0000
@@ -1911,7 +1911,7 @@
 		iov[5].iov_base = fsb->f_mntfromname; /* "from" */
 		iov[5].iov_len = strlen(fsb->f_mntfromname) + 1;
 
-		while (nmount(iov, iovlen, fsb->f_flags) < 0) {
+		while (nmount(iov, iovlen, fsb->f_flags & ~MNT_ROOTFS) < 0) {
 			if (cp)
 				*cp-- = savedc;
 			else






> --- mountd.c.org	Thu Sep 21 10:07:57 2006
> +++ mountd.c	Thu Sep 21 10:08:42 2006
> @@ -1912,7 +1912,7 @@
>  		iov[5].iov_base = fsb->f_mntfromname; /* "from" */
>  		iov[5].iov_len = strlen(fsb->f_mntfromname) + 1;
>  
> -		while (nmount(iov, iovlen, fsb->f_flags) < 0) {
> +		while (nmount(iov, iovlen, fsb->f_flags | MNT_UPDATE) < 0) {
>  			if (cp)
>  				*cp-- = savedc;
>  			else



-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013@student.uu.se




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061015220111.GA10634>