cpio reporting too many 'blocks'
Giorgos Keramidas
keramida at freebsd.org
Thu Sep 4 14:30:13 UTC 2008
On Wed, 03 Sep 2008 22:07:56 -0700, Tim Kientzle <kientzle at freebsd.org> wrote:
>Giorgos Keramidas wrote:
>> ACK. If you want me to run any tests or test patches, please feel free
>> to send them this way :-)
>
> I think I found it. <sigh> Try this and let me know.
>
> Tim
> Index: cpio.c
> ===================================================================
> --- cpio.c (revision 182102)
> +++ cpio.c (working copy)
> @@ -863,7 +863,6 @@
> r = archive_write_close(cpio->archive);
> if (r != ARCHIVE_OK)
> cpio_errc(1, 0, archive_error_string(cpio->archive));
> - archive_write_finish(cpio->archive);
>
> if (!cpio->quiet) {
> blocks = (archive_position_uncompressed(cpio->archive) + 511)
> @@ -872,6 +871,7 @@
> blocks == 1 ? "block" : "blocks");
> }
>
> + archive_write_finish(cpio->archive);
> }
That's it. Not the blocks reported look more sensible:
keramida at kobe:/ws/bsd/doc$ find * | cpio -p -dmu /hg/doc/bsd-import
40345 blocks
keramida at kobe:/ws/bsd/doc$ echo $(( $( find * | xargs cat | wc -c ) / 512 ))
40916
Thanks :)
More information about the freebsd-current
mailing list