Myklebust, Trond [Trond.Myklebust@xxxxxxxxxx] wrote: > On Mon, 2012-03-05 at 18:16 +0100, DENIEL Philippe wrote: > > Hi List, > > > > I ran a stupid test (using the kernel's knfsd) : I filled up completely > > a filesystem with a few big file. When it was 100% full (no free block > > at all), I ran a dd on it. > > The dd said it could write 793 blocks of size 1mb and failed on IO > > error. At the end, I could see an empty file in the NFS exported tree. > > Question is : > > - why did I get EIO and not ENOSPC ? > > Did the server actually return NFS3ERR_NOSPC, or did it return something > else? If the server returns NFS3ERR_NOSPC, then I'd expect the client to > translate that as ENOSPC. AFAIR, the server returns ENOSPC but the Linux client has a bug under certain cases that returns it as EIO. Filed a bug and Neil sent a patch but I have not tested it yet. I tried with various versions and they gave some differing results. I think in one case fsync() got ENOSPC but close() got EIO (or the other way around?) Regards, Malahal. PS: Easy way to reproduce the problem, just run the following: dd if=/dev/zero of=./testfile conv=fdatasync -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html