]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC: sys/geom/mirror/g_mirror.c 1.81,1.82,1.83
authorpjd <pjd@FreeBSD.org>
Wed, 10 May 2006 07:10:03 +0000 (07:10 +0000)
committerpjd <pjd@FreeBSD.org>
Wed, 10 May 2006 07:10:03 +0000 (07:10 +0000)
commit54f2c508d7ae5d855df7df3a7a40137befda797b
treed1feda790f0f34effc647474840bd1d9e6063f2a
parentc21f8ac91a805ae3657580e751ab1bd6e96ce84d
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.
sys/geom/mirror/g_mirror.c
sys/geom/mirror/g_mirror.h
sys/geom/mirror/g_mirror_ctl.c