summaryrefslogtreecommitdiffstats
path: root/sys/geom/raid3
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2006-03-10 07:41:31 +0000
committerpjd <pjd@FreeBSD.org>2006-03-10 07:41:31 +0000
commitf0925fcaf9fbd89ecf68fe9b69dbb567fa60d1eb (patch)
tree60e62df16102bf90cb7aba40c06143412dc430b8 /sys/geom/raid3
parentb1c2c5a706ed9562e4dbb9ba7aa1cdef0e642123 (diff)
downloadFreeBSD-src-f0925fcaf9fbd89ecf68fe9b69dbb567fa60d1eb.zip
FreeBSD-src-f0925fcaf9fbd89ecf68fe9b69dbb567fa60d1eb.tar.gz
When inserting a new component md_provsize metadata field wasn't set, which
means that old problem was triggered (when two providers end at the same offset, eg. ad0 and ad0s1 and the wrong was is picked up by gmirror/graid3). Reported by: Michal Suszko <dry@dry.pl> MFC after: 3 days
Diffstat (limited to 'sys/geom/raid3')
-rw-r--r--sys/geom/raid3/g_raid3_ctl.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/geom/raid3/g_raid3_ctl.c b/sys/geom/raid3/g_raid3_ctl.c
index 5a4a07b..b83b933 100644
--- a/sys/geom/raid3/g_raid3_ctl.c
+++ b/sys/geom/raid3/g_raid3_ctl.c
@@ -449,6 +449,7 @@ g_raid3_ctl_insert(struct gctl_req *req, struct g_class *mp)
strlcpy(md.md_provider, pp->name, sizeof(md.md_provider));
else
bzero(md.md_provider, sizeof(md.md_provider));
+ md.md_provsize = pp->mediasize;
sector = g_malloc(pp->sectorsize, M_WAITOK);
raid3_metadata_encode(&md, sector);
g_topology_unlock();
OpenPOWER on IntegriCloud