Re: git: 906c312bbf74 - main - Document the mntopts(3) functions.

From: Bjoern A. Zeeb <bz_at_freebsd.org>
Date: Fri, 27 Jan 2023 14:38:43 UTC
On Fri, 27 Jan 2023, Konstantin Belousov wrote:

> On Fri, Jan 27, 2023 at 02:26:51PM +0000, Bjoern A. Zeeb wrote:
>> On Fri, 27 Jan 2023, Bjoern A. Zeeb wrote:
>>
>>> On Sun, 15 Jan 2023, Kirk McKusick wrote:
>>>
>>> Hi Kirk,
>>>
>>>> The branch main has been updated by mckusick:
>>>>
>>>> URL: https://cgit.FreeBSD.org/src/commit/?id=906c312bbf7493ccbcce883936d67e5c66a9c3c2
>>>>
>>>> commit 906c312bbf7493ccbcce883936d67e5c66a9c3c2
>>>> Author:     Kirk McKusick <mckusick@FreeBSD.org>
>>>> AuthorDate: 2023-01-15 18:20:48 +0000
>>>> Commit:     Kirk McKusick <mckusick@FreeBSD.org>
>>>> CommitDate: 2023-01-15 18:21:31 +0000
>>>>
>>>>    Document the mntopts(3) functions.
>>>>
>>>>    The mntopts(3) functions support operations associated with a mount
>>>>    point. The main purpose of this commit is to document the mntopts(3)
>>>>    functions that now appear in 18 utilities in the base system. See
>>>>    mntopts(3) for the documentation details.
>>>>
>>>>    The getmntopts() function appeared in 4.4BSD. The build_iovec(),
>>>>    build_iovec_argf(), free_iovec(), checkpath(), and rmslashes()
>>>>    functions were added with nmount(8) in FreeBSD 5.0. The getmntpoint()
>>>>    and chkdoreload() functions are being added in this commit.
>>>>
>>>>    These functions should be in a library but for historic reasons are
>>>>    in a file in the sources for the mount(8) program. Thus, to access
>>>>    them the following lines need to be added to the Makefile of the
>>>>    program wanting to use them:
>>>>
>>>>    SRCS+= getmntopts.c
>>>>    MOUNT= ${SRCTOP}/sbin/mount
>>>>    CFLAGS+= -I${MOUNT}
>>>>    .PATH: ${MOUNT}
>>>>
>>>>    Once these changes have been MFC'ed to 13 they may be made into
>>>>    a library.
>>>>
>>>>    Reviewed by:  kib, gbe
>>>>    MFC after:    2 weeks
>>>>    Sponsored by: The FreeBSD Foundation
>>>>    Differential Revision: https://reviews.freebsd.org/D37907
>>>
>>>
>>> Could this change be the cause for (I'll try to back it out and the
>>> follow-up to see but it'll be a few hours...)
>>
>>     This reverts commit 0bd4c448ec1dfdc2300a6cacca42e1fc7c4d8f14.
>>     This reverts commit 906c312bbf7493ccbcce883936d67e5c66a9c3c2.
>>
>> And NFS ROOT works again.
>>
>> Please don't MFC until this is fixed.
> This is really strange, since the changes are purely user-space.
> You cannot get to that before root is mounted.

Yout is long mounted,  the mount -uw from /etc/rc.d/root is failing
(see the posting to freebsd-fs).

And the (silly call to) fsck in single user confirms that there is a problem.

>>
>> PS: I am also always surprised how little netboot setup breakage shows
>> up these days (or how long it takes to be reported).  We probably need
>> better test cases for this...
>>
>>
>>> https://lists.freebsd.org/archives/freebsd-fs/2023-January/001789.html
>>>
>>>
>>>> ---
>>>> sbin/fsck/Makefile      |   4 +
>>>> sbin/fsck/fsck.c        |   5 +-
>>>> sbin/fsck/fsutil.c      |  44 ------
>>>> sbin/fsck/fsutil.h      |   1 -
>>>> sbin/fsck_ffs/main.c    |  96 +-----------
>>>> sbin/growfs/growfs.c    | 110 ++------------
>>>> sbin/mount/Makefile     |  11 +-
>>>> sbin/mount/getmntopts.3 | 181 -----------------------
>>>> sbin/mount/getmntopts.c |  95 +++++++++++-
>>>> sbin/mount/mntopts.3    | 381
>>>> ++++++++++++++++++++++++++++++++++++++++++++++++
>>>> sbin/mount/mntopts.h    |   2 +
>>>> sbin/mount/mount.c      |  18 +--
>>>> sbin/tunefs/tunefs.c    |  33 +----
>>>> 13 files changed, 513 insertions(+), 468 deletions(-)
>>>
>>>
>>
>> --
>> Bjoern A. Zeeb                                                     r15:7
>

-- 
Bjoern A. Zeeb                                                     r15:7