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