Re: nfs regression 2.6.35+

From: Takashi Iwai
Date: Mon Aug 16 2010 - 06:40:38 EST


At Mon, 16 Aug 2010 12:09:12 +0200, Takashi Iwai wrote:
> At Mon, 16 Aug 2010 15:06:26 +0800,
> Shaohua Li wrote:
> >
> > NFS client runs latest git. At client side, use vim to edit a file located at
> > NFS server. If I save the file, vim always reports 'E667: Fsync failed'. If I
> > revert f7fa16506bf9b6323e862a61e14c20555152bb3, vim works. No kernel errors
> > reported.
>
> This hits me, too. Reverting it cures the problem.
> (BTW, the correct commit id of the affecting patch is
> af7fa16506bf9b6323e862a61e14c20555152bb3
> "NFS: Fix up the fsync code")
>
> Reproduced on 2.6.36-rc1.
>
> Looking at strace output,
>
> open("afo", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 4
> write(4, "#!/bin\n", 7) = 7
> fsync(4) = 1
> stat("afo", {st_mode=S_IFREG|0644, st_size=7, ...}) = 0
> close(4) = 0
>
> So, fsync() returns 1 wrongly.

How about a band-aid fix below?


Takashi