From nobody@FreeBSD.org Sun Aug 24 21:36:04 2008 Return-Path: Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 99C711065674 for ; Sun, 24 Aug 2008 21:36:04 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id A07CB8FC0A for ; Sun, 24 Aug 2008 21:36:04 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.2/8.14.2) with ESMTP id m7OLa4Ht082671 for ; Sun, 24 Aug 2008 21:36:04 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.2/8.14.1/Submit) id m7OLa4WC082670; Sun, 24 Aug 2008 21:36:04 GMT (envelope-from nobody) Message-Id: <200808242136.m7OLa4WC082670@www.freebsd.org> Date: Sun, 24 Aug 2008 21:36:04 GMT From: Garrett Cooper To: freebsd-gnats-submit@FreeBSD.org Subject: exports documentation incorrect or X-Send-Pr-Version: www-3.1 X-GNATS-Notify: >Number: 126806 >Category: misc >Synopsis: [patch] exports documentation incorrect or parsing is incorrect >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: closed >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Aug 24 21:40:04 UTC 2008 >Closed-Date: Fri Oct 17 14:29:55 UTC 2008 >Last-Modified: Fri Oct 17 14:29:55 UTC 2008 >Originator: Garrett Cooper >Release: CURRENT >Organization: n/a >Environment: FreeBSD optimus.gateway.2wire.net 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Mon Aug 18 21:49:28 PDT 2008 root@:/usr/obj/usr/src/sys/OPTIMUS amd64 >Description: Either the documentation for exports or the parsing being done is incorrect. According to the examples in exports(5), I should be able to do the following... /usr /usr/local -maproot=0:10 friends .. in exports, and it should work. What I tried (just as an experiment): optimus# cat /etc/exports /scratch -alldirs -maproot=nobody /store -alldirs -maproot=nobody /var /usr -alldirs -maproot=nobody What I got however was /var and /usr aren't being exported: optimus# showmount -e Exports list on localhost: /store Everyone /scratch Everyone According to /var/log/messages from syslog it was a bad "line" in exports: Aug 24 14:28:00 optimus mountd[686]: bad exports list line /var /usr I'm not sure if this is a documentation issue or a functional issue, but the fact is that the 2 items don't align with one another. Thanks, -Garrett >How-To-Repeat: echo "/var /usr -alldirs -maproot=nobody" >> /etc/exports && killall -HUP mountd >Fix: >Release-Note: >Audit-Trail: From: Manolis Kiagias To: Garrett Cooper Cc: freebsd-gnats-submit@FreeBSD.org Subject: Re: misc/126806: exports documentation incorrect or Date: Mon, 25 Aug 2008 01:05:53 +0300 Garrett Cooper wrote: > > optimus# cat /etc/exports > /scratch -alldirs -maproot=nobody > /store -alldirs -maproot=nobody > /var /usr -alldirs -maproot=nobody > > What I got however was /var and /usr aren't being exported: > > optimus# showmount -e > Exports list on localhost: > /store Everyone > /scratch Everyone > > According to /var/log/messages from syslog it was a bad "line" in exports: > > Aug 24 14:28:00 optimus mountd[686]: bad exports list line /var /usr > > The problem is that you are trying to export *two different* filesystems in one line: /var /usr -alldirs -maproot=nobody Have a better look at the man page: "In a mount entry, the first field(s) specify the directory path(s) within a server file system that can be mounted on by the corresponding client(s)" The above would not work on a typical FreeBSD setup, where /usr and /var are different filesystems The example in the man page correctly shows two different mount points inside the *same* filesystem: /usr /usr/local -maproot=0:10 friends If you were to write this as two different lines, it would work: /var -alldirs -maproot=nobody /usr -alldirs -maproot=nobody I don't see a documentation problem here. From: Garrett Cooper To: Manolis Kiagias Cc: Garrett Cooper , freebsd-gnats-submit@FreeBSD.org Subject: Re: misc/126806: exports documentation incorrect or Date: Sun, 24 Aug 2008 18:20:19 -0700 --Apple-Mail-3-801850719 Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit On Aug 24, 2008, at 3:05 PM, Manolis Kiagias wrote: > Garrett Cooper wrote: >> >> optimus# cat /etc/exports /scratch -alldirs -maproot=nobody >> /store -alldirs -maproot=nobody >> /var /usr -alldirs -maproot=nobody >> >> What I got however was /var and /usr aren't being exported: >> >> optimus# showmount -e >> Exports list on localhost: >> /store Everyone >> /scratch Everyone >> >> According to /var/log/messages from syslog it was a bad "line" in >> exports: >> >> Aug 24 14:28:00 optimus mountd[686]: bad exports list line /var /usr >> >> > The problem is that you are trying to export *two different* > filesystems in one line: > > /var /usr -alldirs -maproot=nobody > > Have a better look at the man page: > > "In a mount entry, the first field(s) specify the directory path(s) > within > a server file system that can be mounted on by the corresponding > client(s)" > > The above would not work on a typical FreeBSD setup, where /usr and / > var are different filesystems > The example in the man page correctly shows two different mount > points inside the *same* filesystem: > > /usr /usr/local -maproot=0:10 friends > > If you were to write this as two different lines, it would work: > > /var -alldirs -maproot=nobody > /usr -alldirs -maproot=nobody > > I don't see a documentation problem here. Here's a proposed patch to highlight that some assumptions are made in the examples. Thanks, -Garrett --Apple-Mail-3-801850719 Content-Disposition: attachment; filename=exports.5.diff Content-Type: application/octet-stream; x-unix-mode=0644; name="exports.5.diff" Content-Transfer-Encoding: 7bit --- exports.5.orig 2008-08-24 17:59:04.000000000 -0700 +++ exports.5 2008-08-24 18:11:55.000000000 -0700 @@ -296,6 +296,10 @@ .El .Sh EXAMPLES .Bd -literal -offset indent + +# IMPORTANT: Please read comments below for related assumptions +# about filesystems. + /usr /usr/local -maproot=0:10 friends /usr -maproot=daemon grumpy.cis.uoguelph.ca 131.104.48.16 /usr -ro -mapall=nobody --Apple-Mail-3-801850719 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit --Apple-Mail-3-801850719-- State-Changed-From-To: open->closed State-Changed-By: hrs State-Changed-When: Fri Oct 17 14:27:32 UTC 2008 State-Changed-Why: The manual page already has a description of the filesystem layout for the example, so no change for the moment. Thank you for your submission! http://www.freebsd.org/cgi/query-pr.cgi?pr=126806 >Unformatted: