DragonFly bugs List (threaded) for 2006-07
Re: ffs_blkfree panic + lockmgr panic
:> getpbuf() rather then trypbuf(). You can't have temporary resource=
:> failures in the places where trypbuf() is being used. This is unre=
:> 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.
:> If you could get a crash dump of the blkfree panic onto leaf I'd li=
:> to take a look at it.
:Will do, but it will take some time, as it is >200mb compressed.