tech-kern archive

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

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



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.

The effect for us is dovecot's LDA not bouncing mail for users having exceeded
their mail quota, but reporting successful delivery and losing mail.

The attached program demonstrates the behaviour. Tested on both 4.0.1 and 6.1
clients and a 6.1 NFS server. I'm rather sure a 4.0.1 server exibits the same
problem.

Shall I file a PR?


Home | Main Index | Thread Index | Old Index