bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: utimensat breakage


From: Jim Meyering
Subject: Re: utimensat breakage
Date: Wed, 18 Feb 2009 16:38:01 +0100

Jim Meyering <address@hidden> wrote:
> Michael Stone <address@hidden> wrote:
>> It seems that libc6 doesn't have any fallback code in utimensat to
>> handle older kernels that don't provide that interface (leading to
>> "fuction not implemented" messages from touch or other utilities which
>> use the function. This is a runtime error which depends on the kernel
>> version (the regular build tests fail if building on an older kernel,
>> otherwise the tests will work until you run on an older kernel). The
>> attached patch checks the return code in the gl_futimens function and
>> keeps falling through until it finds something that doesn't return
>> ENOSYS.
>
> Thank you.
> At first glance, this looks like right.
> I'll look more closely later today.
>
> If you have any more patches that you'd like to
> see in the next stable release, please send them very soon.
> I plan to make a snapshot today and another Friday.
> Very soon after that I want to release coreutils-7.1.
>
>> #! /bin/sh /usr/share/dpatch/dpatch-run
>> ## 77_utimensat.dpatch by Michael Stone <address@hidden>
>> ##
>> ## All lines beginning with `## DP:' are a description of the patch.
>> ## DP: Work around glibc not handling kernel interface changes well
>>
>> @DPATCH@
>> diff -urNad coreutils-6.12~/lib/utimens.c coreutils-6.12/lib/utimens.c
>> --- coreutils-6.12~/lib/utimens.c    2008-05-29 09:21:57.000000000 -0400
>> +++ coreutils-6.12/lib/utimens.c     2009-02-18 07:00:33.863932176 -0500

When I actually went to look at the latest (in gnulib) source
for that file, I see that this patch no longer applies, and in
fact, that the problem has already been addressed.

    commit 93f084065374412df9f0dae283e51e59267928fd
    Author: Eric Blake <address@hidden>
    Date:   Mon Jun 2 15:08:14 2008 -0600

        Provide futimens/utimensat fallbacks for older kernels.

        * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
        Provide runtime fallback if kernel lacks support.
        Reported by Mike Frysinger.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]