On 09/09/14 07:52, Bernhard Reutner-Fischer wrote:
On 9 September 2014 00:17, Bernhard Reutner-Fischer
<rep.dot....@gmail.com> wrote:
On Sun, Sep 07, 2014 at 03:33:46PM -0400, bas...@opensource.dyc.edu wrote:
From: "Anthony G. Basile" <bluen...@gentoo.org>

We add the Linux-specific function fallocate() which allows the user to
directly manipulate allocate space for a file.  fallocate() can operate
in different modes, but the default mode is equivalent to posix_fallocate()
which is specified in POSIX.1.

Recent releases of e2fsprogs 1.42.11 and above expect fallocate64() to be
available.

Looks good. A few remarks:

We should drop the libc_hidden_proto(fallocate{,64}) since we do not have
internal users (and iff we gain some they should use __libc_fallocate{,64})
though.

I did that and installed your patch with my amendments.

I did not test 32bit vs 64bit targets nor all combos of the egrep above.

Care to test and send an updated patch, please?

Thanks for the patch and cheers,


Hi Bernhard,

I tested the patch on x86_64 and x86, and all is good but one issue. When running the tests with

UCLIBC_HAS_LFS=y
UCLIBC_LINUX_SPECIFIC=y
# UCLIBC_HAS_ADVANCED_REALTIME is not set

you hit

tst-posix_fallocate64.o: In function `do_test':
tst-posix_fallocate64.c:(.text+0x62): undefined reference to `posix_fallocate'

because the Makefile.in doesn't turn off the build for tst-posix_fallocate64, only tst-posix_fallocate. The logic there is:

ifeq ($(UCLIBC_HAS_LFS),)
TESTS_DISABLED := tst-preadwrite64 tst-posix_fallocate64 tst-fallocate64
endif

ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),)
TESTS_DISABLED += tst-posix_fallocate
endif

Since LFS is on, tst-posix_fallocate64 is built even though UCLIBC_HAS_ADVANCED_REALTIME is not set. That's why in my original patch I changed this to

ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),)
TESTS_DISABLED += tst-posix_fallocate
ifeq ($(UCLIBC_HAS_LFS),y)
TESTS_DISABLED += tst-posix_fallocate64
endif
endif


Other than that, everything worked and the code reads nicely. Thanks for cleaning things up.

One final point, the patch doesn't apply cleanly to 0.9.33 branch. Its just a couple of simple fixes. Should I submit a backport patch? We need this in Gentoo to keep up with e2fsprogs. Mike adds patches from the 0.9.33 branch to his patchsets when he bumps the ebuilds.


--
Anthony G. Basile, Ph. D.
Chair of Information Technology
D'Youville College
Buffalo, NY 14201
(716) 829-8197
_______________________________________________
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to