NFS client/buffer cache deadlock

Marc Olzheim marcolz at stack.nl
Wed Apr 20 08:35:30 PDT 2005


On Wed, Apr 20, 2005 at 11:20:38AM -0400, Brian Fundakowski Feldman wrote:
> Reads should be totally unaffected...

The server was misbehaving. Fixed. :-)

> > Btw.: I'm not sure write(),writev() and pwrite() are allowed to do short
> > writes on regular files... ?
> 
> Our manpage is incorrect; POSIX states that they are (see earlier
> e-mail).  There really is no alternative -- we simply can't build
> an NFS transaction larger than our buffer cache can accomodate.
> Note that short wries won't happen for normal buffer sizes, only
> excessively large ones.  I really don't believe that writev() is meant
> to be used so that you can write gigantic data structures in a single
> transaction...

Ah, I was reading the SUSv2 page:

http://www.opengroup.org/onlinepubs/009695399/functions/write.html

instead of the POSIX version.

But in neither of those I can extrude the fact that it can return
with result < nbyte, without it being a permanent condition.
What phrase makes you conclude that it can ?

Marc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20050420/0bfbd51b/attachment.bin


More information about the freebsd-hackers mailing list