Re: NFS client: utime() doesn't work always

From: Trond Myklebust
Date: Thu Apr 20 2006 - 08:17:12 EST


On Thu, 2006-04-20 at 15:01 +0300, Timo Sirainen wrote:
> Attached two straces where in first one stat() right after utime() gives
> wrong mtime in reply. The second strace has fstat() call added which
> makes it work properly for some reason (most of the time, but not
> always).
>
> I tried creating a small test program which did the last steps in the
> straces, but I couldn't reproduce the problem with it. So I guess some
> other syscall before those causes it to get confused.
>
> The NFS server's clock seems to be about 4 seconds in different time
> from the client. I guess that's part of the reason why it's wrong. Linux
> kernel figures that because utime() doesn't actually change the mtime it
> doesn't bother updating it? If this is the case, I think it should be
> changed because the clocks can't be perfectly sychronized, so there's
> always some possibility for it to break.
>
> Kernel is from Debian package linux-image-2.6.16-1-686-smp version
> 2.6.16-7. NFS server is some Netapp, mounted with options
> rw,noatime,nfsvers=3,proto=udp,rsize=32768,wsize=32768,actimeo=30. Same
> with actimeo=0. 2.4.20 used to work fine.

...and 2.6.17-rcX should work fine. See the following patch which was
merged into 2.6.17-rc1:

http://client.linux-nfs.org/Linux-2.6.x/2.6.16/linux-2.6.16-007-fix_setattr_clobber.dif

Cheers,
Trond

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/