Re: [PATCH] utimensat() non-conformances and fixes [v3]

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Miklos Szeredi <miklos@...>
Cc: <drepper@...>, <viro@...>, <akpm@...>, <linux-kernel@...>, <linux-man@...>, <linux-fsdevel@...>
Date: Friday, May 30, 2008 - 2:24 pm

Miklos,

On Fri, May 30, 2008 at 6:37 PM, Miklos Szeredi <miklos@szeredi.hu> wrote:

Okay, by now quite a bit of my time has been wasted, and my patience
is starting to get a little thin.

I already fixed most of the isues with utimensat() in my previous
version of the patch several days back, and that patch (probably
still) applies against current mainline.  The one issue that wasn't
fixed by my earlier patch was the one below, which I've only just
today noticed.


It is a problem, because every portable user program that uses this
interfaces, and relies on this corner of behavior, will have to
special case for Linux.  Can you tell me one good reason why we should
do that?  (And preserving bugs because fixing them would break the ABI
is not a good reason.)

The relevant interfaces here are:

utimensat()
futimesat()
utime()
utimes()
futimens() -- because implemented in glibc via utimensat() with path==NULL.

* utime() and utimes() can't be affected by this point: they don't use
file descriptors.
* futimesat() doesn't matter: it is a non-standad interface that was
prematurely added to the kernel, and then promptly replaced with
utimensat().  No other OS will add this interface, and no-one will
ever use it on Linux.  Its manual page will very soon say as much.
* utimensat() and futimens() matter, because they are currently broken
on this point (as well as a number of others).

This is a bug.  It is one of *several* bugs in the original
implementation of the utimensat()/futimens() interface.  All of them
should be fixed.  I have by now provided fixes for most of them.  (Not
point 2 above, but with a little help that should be quickly fixed as
well.)  At this point, I think you need to explain why you think those
fixes shouldn't be applied.

Cheers,

Michael

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Found a bug? http://www.kernel.org/doc/man-pages/reporting_bugs.html
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] utimensat() non-conformances and fixes -- version 2, Michael Kerrisk, (Fri May 16, 4:31 am)
[PATCH] utimensat() non-conformances and fixes [v3], Michael Kerrisk, (Fri May 30, 11:34 am)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Michael Kerrisk, (Tue Jun 3, 7:05 am)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Miklos Szeredi, (Tue Jun 3, 7:13 am)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Michael Kerrisk, (Tue Jun 3, 7:52 am)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Miklos Szeredi, (Tue Jun 3, 8:16 am)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Michael Kerrisk, (Tue Jun 3, 7:27 am)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Michael Kerrisk, (Tue Jun 3, 7:39 am)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Miklos Szeredi, (Fri May 30, 12:37 pm)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Michael Kerrisk, (Fri May 30, 2:24 pm)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Andrew Morton, (Fri May 30, 4:17 pm)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Michael Kerrisk, (Sat May 31, 1:44 am)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Michael Kerrisk, (Fri May 30, 3:43 pm)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Miklos Szeredi, (Fri May 30, 4:17 pm)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Michael Kerrisk, (Sat May 31, 1:28 am)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Miklos Szeredi, (Fri May 30, 3:22 pm)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Matthew Wilcox, (Fri May 30, 3:32 pm)
Re: [PATCH] utimensat() non-conformances and fixes [v3], Miklos Szeredi, (Fri May 30, 4:08 pm)