tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NFS over-quota not detected if utimes() called before fsync()/close()



I reported:
On an NFS-mounted file system, when you try to write to a file and are over-quota, the write() succeeds, but a following fsync() or close() fails. However, when you insert a utimes() or futimes() call after the write(), the fsync() or close() succeed and you end up with a zero-length file.

1. The error is with NetBSD's NFS client, not the server. Using a Linux client, everything works as expected.

2. I think the problem is in nfs_setattr(), sys/nfs/nfs_vnops.c:681, where files are flushed before setattr "because a later write of cached data might change timestamps or reset sugid bits", but the only return value of nfs_vinvalbuf() that's treated as an error is EINTR. Why?

Home | Main Index | Thread Index | Old Index