ffs_blkfree panic + lockmgr panic
Matthew Dillon
dillon at apollo.backplane.com
Mon Jul 10 09:40:28 PDT 2006
:..
:> getpbuf() rather then trypbuf(). You can't have temporary resource=
:=20
:> failures in the places where trypbuf() is being used. This is unre=
:lated
:> to the bug, though.
:
:I am not sure that I understand what you mean: The original (and now use=
:d) code checks the result of geteblk(), but this can't fail anyways. So =
:I decided to go with trypbuf() instead of getpbuf() so that those functio=
:ns (all called from ioctl) could fail and not block.
geteblk() isn't supposed to fail under normal operating conditions.
Failures are considered, well, a fatal error.
trypbuf() *CAN* fail under normal operating conditions, just like
malloc(M_NOWAIT) can fail under normal operating conditions. Such
failures are not a fatal error, but vinum isn't designed to treat them
as non-fatal so what you will up with will be a bunch of odd vinum
failures that it doesn't recover from under certain load conditions.
-Matt
:
:> If you could get a crash dump of the blkfree panic onto leaf I'd li=
:ke=20
:> to take a look at it.
:
:Will do, but it will take some time, as it is >200mb compressed.
:
:cheers
: simon
More information about the Bugs
mailing list