From owner-cvs-sys Mon Apr 14 03:52:32 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id DAA03388 for cvs-sys-outgoing; Mon, 14 Apr 1997 03:52:32 -0700 (PDT) Received: (from kato@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id DAA03381; Mon, 14 Apr 1997 03:52:30 -0700 (PDT) Date: Mon, 14 Apr 1997 03:52:30 -0700 (PDT) From: KATO Takenori Message-Id: <199704141052.DAA03381@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-sys Subject: cvs commit: src/sys/miscfs/union union_vfsops.c Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk kato 97/04/14 03:52:29 Modified: sys/miscfs/union union_vfsops.c Log: Fix `lockmgr: locking against myself' panic by multi union mount of same directory pair. If we do: mount -t union a b mount -t union a b then, (1) namei tries to lock fs which has been already locked by first union mount and (2) union_root() tries to lock locked fs. To avoid first deadlock condition, unlock vnode if lowerrootvp is union node, and to avoid second case, union_mount returns EDEADLK when multi union mount is detected. Revision Changes Path 1.15 +25 -1 src/sys/miscfs/union/union_vfsops.c