Messages in this thread | | | Date | Mon, 28 Jan 2008 02:30:50 +0100 | From | Martin Waitz <> | Subject | NFS EINVAL with O_TRUNC |
| |
hoi :)
I bisected the kernel to find out why cfs stopped working. (open with O_TRUNC returning EINVAL when file already exists on an cfs file system.) First I tried to debug cfs itself, and after reading Gianlucas thread on lkml I then looked at the kernel itself.
1c710c896eb461895d3c399e15bb5f20b39c9073 is first bad commit commit 1c710c896eb461895d3c399e15bb5f20b39c9073 Author: Ulrich Drepper <drepper@redhat.com> Date: Tue May 8 00:33:25 2007 -0700
utimensat implementation
Implement utimensat(2) which is an extension to futimesat(2) in that it
a) supports nano-second resolution for the timestamps b) allows to selectively ignore the atime/mtime value c) allows to selectively use the current time for either atime or mtime d) supports changing the atime/mtime of a symlink itself along the lines of the BSD lutimes(3) functions [...]
I don't have any clue how this commit can break cfs, but it definitely does. At least it uncovers some bug either in the Linux NFS client or in the cvs server code.
So, and now I will happily go to sleep... Thanks to everybody who can figure out why above commit breaks stuff...
-- Martin [unhandled content-type:application/pgp-signature] | |