Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Feb 2013 10:35:44 -0800
From:      Alfred Perlstein <bright@mu.org>
To:        freebsd-current@freebsd.org
Subject:   Re: [patch] Proposal: move getmntopts(3) into libutil
Message-ID:  <512D0080.9050208@mu.org>
In-Reply-To: <20130226122039.GN2454@kib.kiev.ua>
References:  <CAE-mSO%2B_JCAtzDbMfts8Ttgs32T7zNFZkYbGJ610v85=H-U=OA@mail.gmail.com> <20130226122039.GN2454@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2/26/13 4:20 AM, Konstantin Belousov wrote:
> On Tue, Feb 26, 2013 at 02:39:26PM +0300, Sergey Kandaurov wrote:
>> Hi.
>>
>> The functions from sbin/mount/getmntopts.c are used in a bunch of other
>> stuff like mount_* utilities which have to suck them in as their own
>> functions in quite a hackish way. getmntopts.c copies are compiled in to
>> an every utility-consumer instead of being present in one place.  Looks
>> like getmntopts.c was brought together with mount_ufs.c in 4.4BSD-Lite.
>> After that other mount_* were converted to use getmntopts().
> Yes, this is ugly. On the other hand, compiling the functions into
> mount binaries makes them not to depend on the yet another library.
> It cannot be an argument for rejecting your patch, only a point to
> consider.
>
>> The utilities consuming getmntopts.c as currently present in HEAD:
>> mount_smbfs
>> fsck_ffs
>> growfs
>> mksnap_ffs
>> mount
>> mount_cd9660
>> mount_ext2fs
>> mount_fusefs
>> mount_hpfs
>> mount_msdosfs
>> mount_nfs
>> mount_nullfs
>> mount_reiserfs
>> mount_std
>> mount_udf
>> mount_unionfs
>> mount_nwfs
>> mount_portalfs
>> mount_smbfs
>> mountd
>>
>> External mount-like utilities may also have difficulties with building
>> to get getmntopts.c source as this requires /usr/src presence which is
>> in sync with installed world. Look how mount_fusefs from ports compiles:
>> # mount_fusefs needs mntopts.h and getmntopts.c from src/sbin/mount/
>>
>> The attached patch moves them to the IMHO architecturally more correct
>> place: a separate library -lutil.
>> sbin/mount/mntopts.h            -> include/mntopts.h
> I think the mntopts.h should be moved to lib/libutil then, and installed
> by libutil Makefile.
>
>> sbin/mount/getmntopts.[3c]      -> lib/libutil/getmntopts.[3c]
> I assume that the move is done by 'svn mv' to preserve the history.
Agree with all of Konstantin's review.

Looks very good.

-Alfred



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