From owner-cvs-src@FreeBSD.ORG Wed May 10 07:10:05 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1578416A45E; Wed, 10 May 2006 07:10:04 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 82DA443D5F; Wed, 10 May 2006 07:10:03 +0000 (GMT) (envelope-from pjd@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k4A7A315053700; Wed, 10 May 2006 07:10:03 GMT (envelope-from pjd@repoman.freebsd.org) Received: (from pjd@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k4A7A3IR053699; Wed, 10 May 2006 07:10:03 GMT (envelope-from pjd) Message-Id: <200605100710.k4A7A3IR053699@repoman.freebsd.org> From: Pawel Jakub Dawidek Date: Wed, 10 May 2006 07:10:03 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: RELENG_6 Cc: Subject: cvs commit: src/sys/geom/mirror g_mirror.c g_mirror.h g_mirror_ctl.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 May 2006 07:10:05 -0000 pjd 2006-05-10 07:10:03 UTC FreeBSD src repository Modified files: (Branch: RELENG_6) sys/geom/mirror g_mirror.c g_mirror.h g_mirror_ctl.c Log: MFC: sys/geom/mirror/g_mirror.c 1.81,1.82,1.83 sys/geom/mirror/g_mirror.h 1.23 sys/geom/mirror/g_mirror_ctl.c 1.16 Sync gmirror with HEAD: - Introduce and use delayed-destruction functionality from a pre-sync hook, which means that devices will be destroyed on last close. This fixes destruction order problems when, eg. RAID3 array is build on top of RAID1 arrays. Requested, reviewed and tested by: ru - Be sure to not destroy device twice. This is only possible in theory, but with this change there is even no theoretical race. - Remove dead code. - Comment possible event miss, which isn't critical, but probably can be fixed by replacing the event lock usage with the queue lock. Revision Changes Path 1.66.2.6 +100 -68 src/sys/geom/mirror/g_mirror.c 1.17.2.2 +5 -1 src/sys/geom/mirror/g_mirror.h 1.11.2.2 +7 -1 src/sys/geom/mirror/g_mirror_ctl.c