NFS client/buffer cache deadlock
Brian Fundakowski Feldman
green at freebsd.org
Wed Apr 27 12:41:45 PDT 2005
On Wed, Apr 27, 2005 at 09:19:38PM +0200, Marc Olzheim wrote:
> On Wed, Apr 27, 2005 at 03:06:27PM -0400, Brian Fundakowski Feldman wrote:
> > > How can I tell whether it uses transactions ?
> > I am not sure -- it should with NFSv3 though. Does "mount -v" tell
> > you anything more detailed? I suppose that nfsstat may also be used
> > -- the "commit" count should only increase when it does an NFSv3
> > commit operation.
> > > The NFS server is mounted with:
> > >
> > > mount_nfs -c -P -a 0 -r 8192 -w 8192 -i -o rw,noatime,nointr host:/path /nfs/host/path
> > So the only really visible difference is 6 nfsiod versus 20 nfsiod. I
> > think if you increased the nfsiod on that 4.x box to something much
> > higher it would deadlock the same, then, assuming that all else is
> > equal.
> Well, I took on that challenge and although it seems that the machine
> completely hangs itself up for a while, it snaps out of it after it is
> tehethereal tells me it is NFSv3, and the commits increase:
Alright, thanks for testing. So the same bug exists in 4.x but may
not actually deadlock the buffer cache in the same circumstances.
If you feel like playing with it anymore, I would expect a certain
write block size, maximum nfsiod, and total file size being written
wouldn't be too hard to find that would deadlock 4.x, too.
Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\
<> green at FreeBSD.org \ The Power to Serve! \
Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\
More information about the freebsd-stable