Greetings,
Fedora is planning to switch to btrfs as the default filesystem at some future point. This may cause problems for some 32-bit applications, because btrfs uses 64-bit inode numbers (see [1], for example). This can cause stat() calls to fail with EOVERFLOW, just because the inode number doesn't fit into the 32-bit stat structure, even if the caller doesn't care about the inode number.
I'm attaching a candidate patch for polyml to avoid this issue. It enables large file support on systems where that makes sense, which builds with a 64-bit stat structure on 32-bit systems, and makes some types (such as off_t) larger.
I seem to have a different version of automake than you, so I am not including the generated files in this patch. While you're changing stuff, though, may I suggest dropping AC_FUNC_SETVBUF_REVERSED from configure.ac? Autoconf complains that it is obsolete, and the one use of setvbuf() in the code ignores the results of this test anyway.
References: [1] http://permalink.gmane.org/gmane.comp.file-systems.btrfs/10374
Regards, -- Jerry James http://www.jamezone.org/
On 12/06/2013 18:50, Jerry James wrote:
Greetings,
Fedora is planning to switch to btrfs as the default filesystem at some future point. This may cause problems for some 32-bit applications, because btrfs uses 64-bit inode numbers (see [1], for example). This can cause stat() calls to fail with EOVERFLOW, just because the inode number doesn't fit into the 32-bit stat structure, even if the caller doesn't care about the inode number.
I'm attaching a candidate patch for polyml to avoid this issue. It enables large file support on systems where that makes sense, which builds with a 64-bit stat structure on 32-bit systems, and makes some types (such as off_t) larger.
I seem to have a different version of automake than you, so I am not including the generated files in this patch. While you're changing stuff, though, may I suggest dropping AC_FUNC_SETVBUF_REVERSED from configure.ac? Autoconf complains that it is obsolete, and the one use of setvbuf() in the code ignores the results of this test anyway.
References: [1] http://permalink.gmane.org/gmane.comp.file-systems.btrfs/10374
Regards,
Jerry James http://www.jamezone.org/
Thanks. I've committed your patch and also removed AC_FUNC_SETVBUF_REVERSED as you suggest.
Regards, David