[Debburn-devel] Possible bug in 4GiB filesize check
Frank Griffin
ftg at roadrunner.com
Wed Jun 12 21:52:35 UTC 2013
On 06/12/2013 04:48 PM, Thomas Schmitt wrote:
> Hi,
>
>> fprintf(stderr, "File %s is larger than 4GiB-1.\n", whole_path);
> It seems that -iso-level 3 has no other effect than -iso-level 2.
>
> It should switch to multi-extent representation of files larger
> than 4 GiB - 1.
I think you have to use an explicit --option to get that to kick in.
I'm already using --iso-level 3 and it doesn't. But that's not really
the point. My system is already set up to fragment files manually in
case the filesize exceeds the capacity of the volume (even a 25GB BR),
so it just made sense to enforce the 4GiB-1 cap there.
>> so if you concur, the test operator should be changed to ">".
> Is it guaranteed in genisoimage's build software that off_t has
> 64 bit ?
> If not, then (lstatbuf.st_size > (off_t)0xFFFFFFFF) would never
> be true. The compiler would warn, but stat() should not report
> file sizes > 0xFFFFFFFF anyway. So it would be harmless noise.
That's a good point, but it probably argues for a platform-specific
typedef, and the current code, as you say, won't work on systems with a
32-bit off_t anyway. It should probably be a size_t, which is unsigned
by definition.
> -----
>
> I can offer xorriso's emulation of mkisofs: xorrisofs.
> It should suffice if you do not need UDF or HFS.
>
> It does ISO 9660 level 3 up to 400 GiB per file (a deliberate limit).
Thanks, but I intend this product to be multi-platform, so I'll just set
the limit to 4GiB-2 for now.
> But you don't operate this by wodim, do you ? Have a nice day :) Thomas
No, I don't call wodim directly. I call growisofs which in turn calls
genisoimage.
Thanks for your response.
More information about the Debburn-devel
mailing list