From owner-freebsd-rc@FreeBSD.ORG Sun Dec 16 17:12:34 2012 Return-Path: Delivered-To: rc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id ECB9CE2C for ; Sun, 16 Dec 2012 17:12:34 +0000 (UTC) (envelope-from utisoft@gmail.com) Received: from mail-bk0-f54.google.com (mail-bk0-f54.google.com [209.85.214.54]) by mx1.freebsd.org (Postfix) with ESMTP id 6D8948FC16 for ; Sun, 16 Dec 2012 17:12:33 +0000 (UTC) Received: by mail-bk0-f54.google.com with SMTP id je9so2302007bkc.13 for ; Sun, 16 Dec 2012 09:12:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Xq2fs+IOsK0rT1McsMQoWxuRNztqeUimyoyWF+IJtZs=; b=MSEOjCCz3Y3yd35tEF5nlG7LNr6j9FfZmI4lHzcvXcAlyMo92MUdmCZrSmhbThG1iV XZNd7gu6l4qTLoPmtLdfLWZyuhTVgsMqOnCU9j4dGxLF2yF2YprYVoykh8KUHcdShq7C RQlnRC+Ox6C7pBwY6thgdxWTUx7AVnVrMhBXNlCB7uVgjd9ehqysHninphLK4E7DTvqY H/Gqc1/6b1Hph1hR7Ppgj+peL6+4u54cGJOAf4CNwPEZS6hBCyWOFB3DadJEjx2fAiMp yyxIsZtb4VvrIo4Pi+JLyKPNhoIqwT1ftIDAEsVi7hrE+ql1DvHEXVVANWrGH+GbQnbT ckEA== MIME-Version: 1.0 Received: by 10.204.4.131 with SMTP id 3mr4892506bkr.25.1355677952936; Sun, 16 Dec 2012 09:12:32 -0800 (PST) Received: by 10.204.167.71 with HTTP; Sun, 16 Dec 2012 09:12:32 -0800 (PST) In-Reply-To: <20121216044802.GX71906@kib.kiev.ua> References: <6A58ADA440454E5889DBA6D2D9C56180@multiplay.co.uk> <20121215091424.GS71906@kib.kiev.ua> <1F93E0D525B946B88405EC4203385E0A@multiplay.co.uk> <20121216044802.GX71906@kib.kiev.ua> Date: Sun, 16 Dec 2012 17:12:32 +0000 Message-ID: Subject: Re: Adding dependency on mountlate to mountd From: Chris Rees To: Konstantin Belousov Content-Type: text/plain; charset=ISO-8859-1 Cc: "freebsd-rc@freebsd.org" , Steven Hartland X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Discussion related to /etc/rc.d design and implementation." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Dec 2012 17:12:35 -0000 On 16/12/2012, Konstantin Belousov wrote: > On Sat, Dec 15, 2012 at 10:12:00PM +0000, Chris Rees wrote: >> On 15 December 2012 20:09, Steven Hartland >> wrote: >> > ---- Original Message ----- >> >> >> >> From: Chris Rees On 15 Dec 2012 09:14, "Konstantin Belousov" >> >> wrote: >> >> > It cannot be fine. It breaks local NFS mounts. >> >> >> >> Given that we can't have both, but we can have nullfs and thus solve >> >> this >> >> problem. >> >> Is there something that local NFS mounts can do that nullfs won't? >> > >> > >> > Using local NFS mounts seems a bit of strange thing to do, whats the >> > reason for the requirement for these? >> > >> > Wouldnt nullfs mounts replace this requirement and perform better? > No, because there are different use cases. What was useful for me was > the case of migrating services, when the client machine happens to be > the same as the export one. Ability to do loopback nfs mounts removes > the need for non-trivial reconfiguration. > > >> >> Here's an idea, how about in the mountlate script, we pass SIGHUP to >> mountd at the end (or simply restart it, but that'd be slower)? This >> would cover your use case and Kostik's example too. > > The mount(8) already sends SIGHUP to mountd, it is even noted in the > man. Sometimes it results in the quite puzzling behaviour, see e.g. > r172577, which in fact was blamed on a bug in our TCP stack. > > The only case which could not be covered yet is the unability to specify > export points in the exports(5) which only appear after some late > mounts are performed. I think that if you really concerned with this, a > flag to the mountd(8) might be added which allows the daemon to ignore > non-existing export directories. > Having investigated, this actually happens already; missing directories in /etc/exports are just warnings that can be ignored. Steven, can you provide more details on exactly what the problem is? For example, the output of showmount -e on a machine that has late filesystems in /etc/exports? Chris Scratch test: pegasus# tail -n 0 -f /var/log/messages & [1] 93579 pegasus# cat /etc/exports /nonexistent pegasus# killall -HUP mountd Dec 16 17:04:18 pegasus mountd[93469]: bad exports list line /nonexistent pegasus# showmount -e Exports list on localhost: pegasus# mkdir /nonexistent pegasus# killall -HUP mountd pegasus# showmount -e Exports list on localhost: /nonexistent Everyone pegasus# uname -a FreeBSD pegasus.bayofrum.net 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Sun Apr 29 12:29:02 BST 2012 root@pegasus.bayofrum.net:/usr/obj/usr/src/sys/PEGASUS amd64