From: Erik Faye-Lund Date: Wed, 23 Jan 2013 15:54:44 GMT Subject: Re: GIT get corrupted on lustre Message-ID: In-Reply-To: <871udbc3af.fsf@pctrast.inf.ethz.ch> On Wed, Jan 23, 2013 at 4:44 PM, Thomas Rast wrote: > Erik Faye-Lund writes: > >> On Wed, Jan 23, 2013 at 4:32 PM, Thomas Rast wrote: >>> Erik Faye-Lund writes: >>> >>>> POSIX allows error codes >>>> to be generated other than those defined. From >>>> http://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_03.html: >>>> >>>> "Implementations may support additional errors not included in this >>>> list, *may generate errors included in this list under circumstances >>>> other than those described here*, or may contain extensions or >>>> limitations that prevent some errors from occurring." >>> >>> That same page says, however: >>> >>> For functions under the Threads option for which [EINTR] is not listed >>> as a possible error condition in this volume of IEEE Std 1003.1-2001, >>> an implementation shall not return an error code of [EINTR]. >> >> Yes, but surely that's for pthreads functions, no? utime is not one of >> those functions... > > Ah, my bad. In fact in > > http://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xsh_chap02.html > > there is a paragraph "Signal Effects on Other Functions", which says > > > > Taken together this should mean that the bug is in fact simply that the > calls do not *restart*. They are (like you say) allowed to return EINTR > despite not being specified to, *but* SA_RESTART should restart it. > Right, thanks for clearing that up. > Now, does that make it a lustre bug or a glibc bug? :-) That's kind of uninteresting, the important bit is that it is indeed a bug (outside of Git).