Project

General

Profile

Actions

Bug #1139

closed

HAMMER: panic: lockmgr: locking against myself (patch #3)

Added by dillon over 15 years ago. Updated over 15 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Oops, I blew it. Don't patch hammer_object.c ... revert that
to what was there before. The original code was correct.

hammer_io.c does need to be patched.  Here's the revised patch
(without hammer_object.c patched).
-Matt

Index: hammer_io.c ===================================================================
RCS file: /cvs/src/sys/vfs/hammer/hammer_io.c,v
retrieving revision 1.54
diff u -p -r1.54 hammer_io.c
--
hammer_io.c 29 Aug 2008 20:19:08 0000 1.54
++ hammer_io.c 13 Sep 2008 18:12:34 -0000
@ -277,17 +277,19 @ hammer_io_inval(hammer_volume_t volume,
hammer_ref(&iou
>io.lock);
hammer_io_clear_modify(&iou->io, 1);
bundirty(bp);
iou->io.released = 0;
+ BUF_KERNPROC(bp);
iou->io.reclaim = 1;
iou->io.waitdep = 1;
- KKASSERT(iou->io.lock.refs 0);
+ KKASSERT(iou->io.lock.refs 1);
hammer_rel_buffer(&iou->buffer, 0);
/*hammer_io_deallocate(bp);*/
} else {
KKASSERT == 0);
bundirty(bp);
bp->b_flags |= B_NOCACHE|B_RELBUF;
+ brelse(bp);
}
- brelse(bp);
crit_exit();
}

Actions #1

Updated by thomas.nikolajsen over 15 years ago

This works, thanks!

-thomas
Actions

Also available in: Atom PDF