diff --git a/sys/vfs/hammer2/hammer2_iocom.c b/sys/vfs/hammer2/hammer2_iocom.c --- a/sys/vfs/hammer2/hammer2_iocom.c +++ b/sys/vfs/hammer2/hammer2_iocom.c @@ -373,6 +373,7 @@ kdmsg_msg_t *msg; /* XXX interlock against connection state termination */ + lockmgr(&hmp->iocom.msglk, LK_EXCLUSIVE); kprintf("volconf update %p\n", hmp->iocom.conn_state); if (hmp->iocom.conn_state) { kprintf("TRANSMIT VOLCONF VIA OPEN CONN TRANSACTION\n"); @@ -384,4 +385,5 @@ H2_LNK_VOLCONF(msg)->index = index; kdmsg_msg_write(msg); } -} + lockmgr(&hmp->iocom.msglk, LK_RELEASE); +}