Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Jan 2010 13:47:55 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r201580 - stable/8/sys/geom/mirror
Message-ID:  <201001051347.o05Dlt5v013849@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Tue Jan  5 13:47:55 2010
New Revision: 201580
URL: http://svn.freebsd.org/changeset/base/201580

Log:
  MFC r200935:
  As soon as mirror has no own stripes, report largest stripe of unrerlying
  components, hoping others fit, if they are not equal.

Modified:
  stable/8/sys/geom/mirror/g_mirror.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/sys/geom/mirror/g_mirror.c
==============================================================================
--- stable/8/sys/geom/mirror/g_mirror.c	Tue Jan  5 13:46:39 2010	(r201579)
+++ stable/8/sys/geom/mirror/g_mirror.c	Tue Jan  5 13:47:55 2010	(r201580)
@@ -2036,6 +2036,15 @@ g_mirror_launch_provider(struct g_mirror
 	pp = g_new_providerf(sc->sc_geom, "mirror/%s", sc->sc_name);
 	pp->mediasize = sc->sc_mediasize;
 	pp->sectorsize = sc->sc_sectorsize;
+	pp->stripesize = 0;
+	pp->stripeoffset = 0;
+	LIST_FOREACH(disk, &sc->sc_disks, d_next) {
+		if (disk->d_consumer && disk->d_consumer->provider &&
+		    disk->d_consumer->provider->stripesize > pp->stripesize) {
+			pp->stripesize = disk->d_consumer->provider->stripesize;
+			pp->stripeoffset = disk->d_consumer->provider->stripeoffset;
+		}
+	}
 	sc->sc_provider = pp;
 	g_error_provider(pp, 0);
 	g_topology_unlock();



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