NFS client/buffer cache deadlock

Garrett Wollman wollman at csail.mit.edu
Wed Apr 20 10:16:09 PDT 2005


<<On Wed, 20 Apr 2005 16:38:42 +0200, Marc Olzheim <marcolz at stack.nl> said:

> Btw.: I'm not sure write(),writev() and pwrite() are allowed to do short
> writes on regular files... ?

I believe it is the intent of the Standard to prohibit this (a
paragraph in the rationale says that short writes can only happen if
O_NONBLOCK is set, but this is clearly wrong because the normative
text says end-of-medium also results in a short write) but there does
not appear to be any language which requires atomic behavior for
descriptors other than pipes and FIFOs.

As a quality-of-implementation matter, for writes to regular files not
to be atomic would be considered surprising.

-GAWollman



More information about the freebsd-current mailing list