NFS client/buffer cache deadlock
Brian Fundakowski Feldman
green at FreeBSD.ORG
Fri Apr 22 08:11:57 PDT 2005
On Wed, Apr 20, 2005 at 01:29:10PM -0400, Garrett Wollman wrote:
> <<On Wed, 20 Apr 2005 11:52:33 -0400, Brian Fundakowski Feldman <green at FreeBSD.ORG> said:
>
> > I think the first is more useful behavior than the last. Supporting it
> > should be exactly the same as supporting what happens if the actual
> > filesystem fills up. In this case, the filesystem is being requested to
> > write more "than there is room for."
>
> Returning a short write for operations on regular files would
> definitely be considered astonishing. The changes that you have made
> should be considered flow control, not admission control, and should
> appear to the user no differently than if we were waiting for a slow
> disk to write something; i.e., the user thread should be blocked until
> either the entire write completes, or the process is interrupted by a
> signal.
Can you find any evidence that it's acceptable to interleave multiple
writers that are doing O_APPEND? At best, to do what you're asking,
they could be kept from being interleaved from the context of one
specific NFS client host...
--
Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\
<> green at FreeBSD.org \ The Power to Serve! \
Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\
More information about the freebsd-hackers
mailing list