[Debburn-devel] Possible bug in 4GiB filesize check
Frank Griffin
ftg at roadrunner.com
Wed Jun 12 20:12:00 UTC 2013
Hi,
I have a home-cooked optical backup system based on
growisofs/genisoimage. It is designed to break large backup files over
a specified volume size. Until recently, I had that size set to 4GiB -
1MiB, and was writing to single-layer DVDs, and all worked well.
I installed a Blu-Ray burner, and switched the limit to ~23.3GiB for
25GiB disks, and got errors trying to write files >4GiB (which is
correct), so I modified the software to cap the segment files at 4GiB-1,
but I still got the error.
I believe that it is due to code at/around line 1554 in the 1.1.11
version of tree.c:
if (S_ISREG(lstatbuf.st_mode) && (lstatbuf.st_size >=
(off_t)0xFFFFFFFF)) {
static int udf_warned;
if( !allow_limited_size || verbose>1)
fprintf(stderr, "File %s is larger than 4GiB-1.\n",
whole_path);
The message says "larger", but the test in the code will reject a size
of 4GiB-1.
The Wikipedia article on ISO9660 also seems to indicate that sizes of
4GiB-1 are acceptable, so if you concur, the test operator should be
changed to ">".
Regards,
Frank Griffin
More information about the Debburn-devel
mailing list