diff options
author | pjd <pjd@FreeBSD.org> | 2006-02-12 17:38:09 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2006-02-12 17:38:09 +0000 |
commit | dded50a417fa1ce2e7778f5e6716194089a1891b (patch) | |
tree | d936db63a6dbb38a908d33970600a12f8d660ab8 /sys/geom/raid3 | |
parent | a9a29a482122cf63a18b559a9601ce344daa68b8 (diff) | |
download | FreeBSD-src-dded50a417fa1ce2e7778f5e6716194089a1891b.zip FreeBSD-src-dded50a417fa1ce2e7778f5e6716194089a1891b.tar.gz |
On component state change to ACTIVE don't forget to update metadata.
MFC after: 3 days
Diffstat (limited to 'sys/geom/raid3')
-rw-r--r-- | sys/geom/raid3/g_raid3.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/geom/raid3/g_raid3.c b/sys/geom/raid3/g_raid3.c index bdf2262..e10c394 100644 --- a/sys/geom/raid3/g_raid3.c +++ b/sys/geom/raid3/g_raid3.c @@ -2439,9 +2439,7 @@ again: g_raid3_disk_state2str(disk->d_state))); DISK_STATE_CHANGED(); - if (disk->d_state == G_RAID3_DISK_STATE_NEW) - disk->d_flags &= ~G_RAID3_DISK_FLAG_DIRTY; - else if (disk->d_state == G_RAID3_DISK_STATE_SYNCHRONIZING) { + if (disk->d_state == G_RAID3_DISK_STATE_SYNCHRONIZING) { disk->d_flags &= ~G_RAID3_DISK_FLAG_SYNCHRONIZING; disk->d_flags &= ~G_RAID3_DISK_FLAG_FORCE_SYNC; g_raid3_sync_stop(sc, 0); @@ -2450,6 +2448,7 @@ again: disk->d_sync.ds_offset = 0; disk->d_sync.ds_offset_done = 0; g_raid3_update_idle(sc, disk); + g_raid3_update_metadata(disk); G_RAID3_DEBUG(0, "Device %s: provider %s activated.", sc->sc_name, g_raid3_get_diskname(disk)); break; |