Clint Adams wrote: > On Sun, Nov 23, 2008 at 04:29:35PM -0800, tony mancill wrote: >> I'm using "find . | cpio -pdmv /target" to copy files from one >> filesystem to another. When encountering files larger than 4GB, >> cpio emits a false error message like the following: >> >> cpio: File ./sw/jigdo/iso/debian-testing-i386-DVD-1.iso grew, 4294967296 new >> bytes not copied >> >> However, the file certainly hadn't changed, and the sha1sum of the >> copied version matches the original. >> >> I encountered this for multiple files, all greater than 4GB, and >> all of them copies were intact, hence the claim that the error >> message is incorrect. > > Could you try this with cpio 2.9.90 in experimental and let me know if it > does the same thing?
I built the 2.9.90 package in experimental on a lenny system and the behavior is the same. I'm mentioning the shift from unstable to lenny in case it ends up being related to a library call/include header that potentially differs between releases. I've taken a brief look at it and (in util.c - snippit below) the cast to uintmax_t seems out of place. However, that doesn't explain why the comparison fails in the first place. Perhaps some compile directive is needed to get LFS support (OFF64_T_TYPE instead of OFF_T_TYPE) enabled. I'm not sure, my C is pretty rusty. ngettext ("File %s grew, %"PRIuMAX" new byte not copied", "File %s grew, %"PRIuMAX" new bytes not copied", (long)(new_file_stat.st_size - old_file_size)), file_name, (uintmax_t) (new_file_stat.st_size - old_file_size)); Thank you, Tony -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]