Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Aug 2013 10:13:41 -0500
From:      Eric van Gyzen <eric@vangyzen.net>
To:        Glen Barber <gjb@FreeBSD.org>
Cc:        Simon Gerraty <sjg@FreeBSD.org>, stable@freebsd.org
Subject:   Re: makefs Sparse Files: NetBSD CLI Compatibility
Message-ID:  <520B9EA5.5010107@vangyzen.net>
In-Reply-To: <20130814145345.GI2241@glenbarber.us>
References:  <520B81D1.1010500@vangyzen.net> <20130814140653.GG2241@glenbarber.us> <520B951D.2080305@vangyzen.net> <20130814145345.GI2241@glenbarber.us>

next in thread | previous in thread | raw e-mail | index | archive | help
--------------000005030103050208040200
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

On 08/14/2013 09:53, Glen Barber wrote:
> On Wed, Aug 14, 2013 at 09:33:01AM -0500, Eric van Gyzen wrote:
>> On 08/14/2013 09:06, Glen Barber wrote:
>>> On Wed, Aug 14, 2013 at 08:10:41AM -0500, Eric van Gyzen wrote:
>>>> NetBSD's makefs has a -Z flag to create the image as a sparse file.  In
>>>> FreeBSD, the flag is spelled -p.  Is there a reason for using a
>>>> different flag?  It would be very nice to preserve CLI compatibility
>>>> with NetBSD.
>>>>
>>>> NetBSD committed first (by one month), and neither change has gone into
>>>> a release yet, so we should change to match NetBSD.  We should do it
>>>> soon, too, since our change will go into 9.2-RELEASE.
>>>>
>>>> If we agree, I'll gladly make the patches, trivial though they'll be.
>>>>
>>> Can you please try the attached patch?
>> Thanks, Glen.  That patch would work.  However, since our -p flag has
>> not yet gone into a release, there is no need to keep it.  I suggest
>> that we simply rename -p to -Z, to match NetBSD.  The attached patch
>> does this.
>>
> Not in a release, no, but it is available in stable/ branches.  I'd
> prefer to deprecate the '-p' but keep the option for now, as we have no
> way to know how many people are using it.

That's reasonable.  The attached patch, for releng/9.2, does this.  We
could remove -p in head (by using my previous patch).

Thanks for your help during this busy time in the release.

Eric

--------------000005030103050208040200
Content-Type: text/x-diff; name="makefs_sparse_releng92.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="makefs_sparse_releng92.diff"

diff --git a/usr.sbin/makefs/makefs.8 b/usr.sbin/makefs/makefs.8
index 81bf334..75b2b8e 100644
--- a/usr.sbin/makefs/makefs.8
+++ b/usr.sbin/makefs/makefs.8
@@ -43,7 +43,7 @@
 .Nd create a file system image from a directory tree or a mtree manifest
 .Sh SYNOPSIS
 .Nm
-.Op Fl Dpx
+.Op Fl DxZ
 .Op Fl B Ar byte-order
 .Op Fl b Ar free-blocks
 .Op Fl d Ar debug-mask
@@ -191,7 +191,10 @@ Set file system specific options.
 is a comma separated list of options.
 Valid file system specific options are detailed below.
 .It Fl p
-Create the image as a sparse file.
+[Deprecated:  Use
+.Fl Z
+instead] Create the image as a sparse file.
+This flag is provided for compatibility with the stable/9 branch.
 .It Fl S Ar sector-size
 Set the file system sector size to
 .Ar sector-size .
@@ -213,6 +216,8 @@ ISO 9660 file system.
 .El
 .It Fl x
 Exclude file system nodes not explicitly listed in the specfile.
+.It Fl Z
+Create the image as a sparse file.
 .El
 .Pp
 Where sizes are specified, a decimal number of bytes is expected.
diff --git a/usr.sbin/makefs/makefs.c b/usr.sbin/makefs/makefs.c
index 03ff1ac..9125b40 100644
--- a/usr.sbin/makefs/makefs.c
+++ b/usr.sbin/makefs/makefs.c
@@ -113,7 +113,7 @@ main(int argc, char *argv[])
 	start_time.tv_sec = start.tv_sec;
 	start_time.tv_nsec = start.tv_usec * 1000;
 
-	while ((ch = getopt(argc, argv, "B:b:Dd:f:F:M:m:N:o:ps:S:t:x")) != -1) {
+	while ((ch = getopt(argc, argv, "B:b:Dd:f:F:M:m:N:o:ps:S:t:xZ")) != -1) {
 		switch (ch) {
 
 		case 'B':
@@ -233,6 +233,10 @@ main(int argc, char *argv[])
 			fsoptions.onlyspec = 1;
 			break;
 
+		case 'Z':
+			fsoptions.sparse = 1;
+			break;
+
 		case '?':
 		default:
 			usage();
@@ -354,7 +358,7 @@ usage(void)
 	fprintf(stderr,
 "usage: %s [-t fs-type] [-o fs-options] [-d debug-mask] [-B endian]\n"
 "\t[-S sector-size] [-M minimum-size] [-m maximum-size] [-s image-size]\n"
-"\t[-b free-blocks] [-f free-files] [-F mtree-specfile] [-px]\n"
+"\t[-b free-blocks] [-f free-files] [-F mtree-specfile] [-DxZ]\n"
 "\t[-N userdb-dir] image-file directory | manifest [extra-directory ...]\n",
 	    prog);
 	exit(1);

--------------000005030103050208040200--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?520B9EA5.5010107>