In message <[EMAIL PROTECTED]>, "Andrey A. Chernov" writes:
>I see this panic constantly during last month or two, UP machine, no 
>softupdates. Anybody else saw it too? Any ideas?

The "buffer is not busy" panic is usually a secondary panic that
occurs while trying to sync the disks after a different panic.  If
possible, try to get the first panic message, or ideally a stack

I think (but I've never checked for sure) that the "buffer is not
busy" panics occur because of the following code in lockmgr(),
combined with later sanity checks:

        if (panicstr != NULL) {
                return (0);

This basically causes all lockmgr locks to be unconditionally and
immediately granted after a panic without actually marking the lock
as locked. Not surprisingly, this causes any lock state sanity
checks later to fail. The original intention was probably to avoid
deadlocking while syncing the disks, but a virtually guaranteed
secondary panic isn't helpful either. It might be worth checking
if a "return (EBUSY);" or a "lkp->lk_flags |= LK_HAVE_EXCL;
lkp->lk_lockholder = pid;" in here would do better. The alternative
is to make "kern.sync_on_panic=0" the default.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to