Date: Mon, 9 Sep 2013 20:37:44 -0700 From: Tim Kientzle <kientzle@acm.org> To: Christos Zoulas <christos@zoulas.com> Cc: =?iso-8859-1?Q?Dag-Erling_Sm=F8rgrav?= <des@des.no>, FreeBSD Current <freebsd-current@freebsd.org>, d@delphij.net, Brooks Davis <brooks@freebsd.org> Subject: Re: [PATCH] mtree should not output size if the file is not a regular file Message-ID: <4519D4C8-512D-450A-8B58-35A2C4795DA3@acm.org> In-Reply-To: <20130909235122.4A9C997129@rebar.astron.com> References: <20130909235122.4A9C997129@rebar.astron.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sep 9, 2013, at 4:51 PM, Christos Zoulas <christos@zoulas.com> wrote: > On Sep 10, 1:21am, des@des.no (=3D?utf-8?Q?Dag-Erling_Sm=3DC3=3DB8rgrav= ?=3D) wrote: > -- Subject: Re: [PATCH] mtree should not output size if the file is = not a reg >=20 > | Roll a large tarball (e.g. a complete FreeBSD installation). Copy = it to > | different machines with different filesystems. Untar and run mtree = on > | the result. Notice that you get different output on each machine > | because they report different sizes for directories; one might = report > | the actual on-disk size (which might vary depending on past = contents) > | while the other might report the number of entries. >=20 > Yes, I agree. I would like to note that the current NetBSD code looks = like: >=20 > if (keys & F_SIZE && > (flavor !=3D F_NETBSD6 || S_ISREG(p->fts_statp->st_mode))) >=20 > which means that F_NETBSD6 did not print this, and we recently changed > it to print the size for compatibility with F_FREEBSD9... We also made > the default F_MTREE format to print the size. So I guess the thing to > do is change the code to: >=20 > if (keys & F_SIZE && > (flavor =3D=3D F_FREEBSD9 || = S_ISREG(p->fts_statp->st_mode))) DES is right: size should just be omitted for non-regular files. Bug-for-bug compatibility can be taken too far. I prefer Xin's original patch. Tim
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4519D4C8-512D-450A-8B58-35A2C4795DA3>