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
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to