[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