Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 May 2006 07:15:37 +0000 (UTC)
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/geom/raid3 g_raid3.c g_raid3.h g_raid3_ctl.c
Message-ID:  <200605100715.k4A7Fc0d056350@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
pjd         2006-05-10 07:15:37 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_6)
    sys/geom/raid3       g_raid3.c g_raid3.h g_raid3_ctl.c 
  Log:
  MFC:    sys/geom/raid3/g_raid3.c        1.60,1.62,1.63,1.66
          sys/geom/raid3/g_raid3.h        1.18
          sys/geom/raid3/g_raid3_ctl.c    1.16
  
  Sync graid3 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.
  
  - Use G_RAID3_FOREACH_SAFE_BIO() macro instead of G_RAID3_FOREACH_BIO() in
    two places where g_io_request() is called. g_io_request() can free bio
    structure so we can't reference it after and G_RAID3_FOREACH_BIO() macro
    was doing this.
  
    Found by:     Coverity Prevent analysis tool (with my new models)
  
  Revision   Changes    Path
  1.40.2.11  +94 -74    src/sys/geom/raid3/g_raid3.c
  1.11.2.3   +5 -1      src/sys/geom/raid3/g_raid3.h
  1.11.2.2   +7 -1      src/sys/geom/raid3/g_raid3_ctl.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200605100715.k4A7Fc0d056350>