diff options
author | mav <mav@FreeBSD.org> | 2013-01-17 00:09:50 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2013-01-17 00:09:50 +0000 |
commit | 559b3a7eace4ecc2123bb9319d05ad25cc53599b (patch) | |
tree | 1ed9b4b3ea53f59ae559dfa69b8e54e708a4bb93 /sys/geom | |
parent | b178c1180de1594fd917f3fa292480bb4ab6f620 (diff) | |
download | FreeBSD-src-559b3a7eace4ecc2123bb9319d05ad25cc53599b.zip FreeBSD-src-559b3a7eace4ecc2123bb9319d05ad25cc53599b.tar.gz |
Recalculate volume size only for real CONCATs. For SINGLE trust volume
size given by metadata, as it should be correct and in some cases can be
smaller then subdisk size.
Diffstat (limited to 'sys/geom')
-rw-r--r-- | sys/geom/raid/tr_concat.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/geom/raid/tr_concat.c b/sys/geom/raid/tr_concat.c index f3935d7..60db472 100644 --- a/sys/geom/raid/tr_concat.c +++ b/sys/geom/raid/tr_concat.c @@ -124,7 +124,8 @@ g_raid_tr_update_state_concat(struct g_raid_volume *vol) * Some metadata modules may not know CONCAT volume * mediasize until all disks connected. Recalculate. */ - if (G_RAID_VOLUME_S_ALIVE(s) && + if (vol->v_raid_level == G_RAID_VOLUME_RL_CONCAT && + G_RAID_VOLUME_S_ALIVE(s) && !G_RAID_VOLUME_S_ALIVE(vol->v_state)) { size = 0; for (i = 0; i < vol->v_disks_count; i++) { |