DragonFly BSD
DragonFly bugs List (threaded) for 2006-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: ffs_blkfree panic + lockmgr panic


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 10 Jul 2006 09:36:15 -0700 (PDT)

:..
:>     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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]