[PATCH] mtree should not output size if the file is not a regular file
Matthias Andree
matthias.andree at gmx.de
Tue Sep 10 06:00:13 UTC 2013
Am 10.09.2013 01:51, schrieb Christos Zoulas:
> On Sep 10, 1:21am, des at des.no (=?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?=) wrote:
> -- Subject: Re: [PATCH] mtree should not output size if the file is not a reg
>
> | 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.
>
> Yes, I agree. I would like to note that the current NetBSD code looks like:
>
> if (keys & F_SIZE &&
> (flavor != F_NETBSD6 || S_ISREG(p->fts_statp->st_mode)))
>
> 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:
>
> if (keys & F_SIZE &&
> (flavor == F_FREEBSD9 || S_ISREG(p->fts_statp->st_mode)))
Uh, does that flavor == F_FREEBSD9 solve a real problem? Or is it just
to reflect some syntax without proper semantics?
Or is this just gratuitious because someone else does nonsense we need
to do it, too?
Or is it required to cater for expectations on the other end (when
reading such an mtree description)?
If not, let's just drop the size where it's meaningless. It's meant for
the next major update, after all. If necessary, bump the OSREVISION.
More information about the freebsd-current
mailing list