In glibc 2.10 (32 bit) fallocate() exists but fallocate64() doesn't. When _FILE_OFFSET_BITS==64, fallocate() is a redirect to fallocate64() and the program can't be linked (fails to find symbol fallocate64). See http://bugzilla.redhat.com/500487 Attached patch detects fallocate() more robustly to guard against this problem. Cheers, Paul. -------------- next part -------------- A non-text attachment was scrubbed... Name: dovecot-2.0-fallocate64.patch Type: text/x-patch Size: 2343 bytes Desc: not available URL: <http://dovecot.org/pipermail/dovecot/attachments/20101022/75ad74d6/attachment-0002.bin>
On 22.10.2010, at 19.22, Paul Howarth wrote:> In glibc 2.10 (32 bit) fallocate() exists but fallocate64() doesn't. > When _FILE_OFFSET_BITS==64, fallocate() is a redirect to fallocate64() > and the program can't be linked (fails to find symbol fallocate64). > See http://bugzilla.redhat.com/500487Yeah, I knew about it happening also on Ubuntu 9.10.> Attached patch detects fallocate() more robustly to guard against this > problem.A lot of code just to work around a bug that apparently only exists in Ubuntu 9.10 and Fedora 11. Is there a reason for anyone to be actually using either of them? I was thinking about just ignoring this problem.
On 24/10/2010 15:10, Timo Sirainen wrote:> A lot of code just to work around a bug that apparently only exists in > Ubuntu 9.10 and Fedora 11. Is there a reason for anyone to be actually > using either of them? I was thinking about just ignoring this problem.I thought you were fixing bugs coming out of running Dovecot over BSDI in order to make Dovecot *generally* more robust. (Well that was the only explanation I could think of for adding support for a dead OS...) I would imaging Ubuntu 9.10 and Fedora 11 to be, "much less dead" than BSDI. You may find that hosting providers only have support for certain spot versions of distros, and besides people may have reasons to stick with the distro they are on. So it may be worth just doing it, especially if the reporter has supplied a patch! Bill