Summary: | >=sys-fs/e2fsprogs-1.42.10: fails to build on <uclibc-0.9.33.2-r14 due to missing fallocate64(). | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Anthony Basile <blueness> |
Component: | [OLD] Core system | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | embedded |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=538396 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 539226 | ||
Bug Blocks: | 538930 | ||
Attachments: |
Use posix_fallocate64() if fallocate64() is unavailable
Use posix_fallocate64() if fallocate64() is unavailable |
Description
Anthony Basile
![]() Created attachment 380646 [details, diff]
Use posix_fallocate64() if fallocate64() is unavailable
This patch applies against git/HEAD:
git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
I'll send it upstream.
(In reply to Anthony Basile from comment #1) > Created attachment 380646 [details, diff] [details, diff] > Use posix_fallocate64() if fallocate64() is unavailable > > This patch applies against git/HEAD: > > git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git > > I'll send it upstream. Hmm ... not sure where upstream is. I tried to just email it directly to Ts'o Created attachment 381958 [details, diff] Use posix_fallocate64() if fallocate64() is unavailable Updated version of the patch emailed to linux-ext4@vger.kernel.org. See http://www.spinics.net/lists/linux-ext4/msg44537.html for any discussions. looks reasonable to me ... i might even suggest they should only use posix_fallocate considering that func is in POSIX and fallocate is not (In reply to SpanKY from comment #4) > looks reasonable to me ... i might even suggest they should only use > posix_fallocate considering that func is in POSIX and fallocate is not Here's Ts'o response and then mine to him: http://www.spinics.net/lists/linux-ext4/msg44671.html His concern is that some implementations of posix_fallocate() just fall back on brute force zero-ing. At least for uclibc and musl this is not the case. I don't know of any libc that does that and doesn't just syscall fallocate. Anyhow, if the kernel doesn't provide the syscall, how else can you implement fallocate except by brute force? I'm not sure what else to say to him. (In reply to Anthony Basile from comment #5) > (In reply to SpanKY from comment #4) > > looks reasonable to me ... i might even suggest they should only use > > posix_fallocate considering that func is in POSIX and fallocate is not > > Here's Ts'o response and then mine to him: > > http://www.spinics.net/lists/linux-ext4/msg44671.html > > His concern is that some implementations of posix_fallocate() just fall back > on brute force zero-ing. At least for uclibc and musl this is not the case. > I don't know of any libc that does that and doesn't just syscall fallocate. > > Anyhow, if the kernel doesn't provide the syscall, how else can you > implement fallocate except by brute force? I'm not sure what else to say to > him. Rather than fight ext4 upstream, I've gotten fallocate/fallocate64 into uclibc. The commit is at http://git.uclibc.org/uClibc/commit/?id=33a12b5540b8abbc4ee0ecb3a51912b3c7868517 It still needs to be backported to 0.9.33. It doesn't apply cleanly. I can prepare a backport patch but how do I get it into 0.9.33? (In reply to Anthony Basile from comment #6) > > It still needs to be backported to 0.9.33. It doesn't apply cleanly. I can > prepare a backport patch but how do I get it into 0.9.33? I emailed the backport to the list: http://lists.uclibc.org/pipermail/uclibc/2014-September/048621.html I have yet to check how it applies against the current uClibc-0.9.33.2-patches-14.tar.bz. (In reply to Anthony Basile from comment #7) > (In reply to Anthony Basile from comment #6) > > > > It still needs to be backported to 0.9.33. It doesn't apply cleanly. I can > > prepare a backport patch but how do I get it into 0.9.33? > > I emailed the backport to the list: > > http://lists.uclibc.org/pipermail/uclibc/2014-September/048621.html > > I have yet to check how it applies against the current > uClibc-0.9.33.2-patches-14.tar.bz. ping. Can I get this in the next patchset. @mike, I added the needed patches to the patchset in cvs, rolled a patch using make-tarball.sh and put it on woodpecker's /space/distfile-local and in my dev space at ~blueness/uclibc. Its PATCH_VER="15". I also bumped the ebuild to 0.9.33.2-r13. I'd like to stabilize this in about 1-2 months because it is blocking progress on e2fsprogs on all my uclibc builds. Please let me know if I did anything wrong. >=uclibc-0.9.33.2-r14 is now stable on all but m68k sh and sparc. All versions of e2fsprogs up to the latest 1.42.12 build fine. I'm going to close this bug in favor of but #539226 which is the final stablereq for m68k sh and sparc.
|