Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Jun 2011 21:05:05 +0300
From:      Alexander Motin <mav@FreeBSD.org>
To:        Gavin Atkinson <gavin@FreeBSD.org>
Cc:        freebsd-geom@FreeBSD.org
Subject:   Re: geom_raid tasting providers that can't be raw disks
Message-ID:  <4E038051.3020809@FreeBSD.org>
In-Reply-To: <1308851620.3853.34.camel@buffy.york.ac.uk>
References:  <1308851620.3853.34.camel@buffy.york.ac.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi.

On 23.06.2011 20:53, Gavin Atkinson wrote:
> While debugging a problem that looks like it was unrelated to geom_raid,
> I realised that it tastes all providers, including each partition and
> slice on raid devices it itself created.
>
> Given that geom_raid is purely a replacement for ataraid, the only place
> that the metadata can be valid is on the raw disk itself.  Therefore,
> I'm proposing this patch:
>
> Index: sys/geom/raid/g_raid.c
> ===================================================================
> --- sys/geom/raid/g_raid.c      (revision 223446)
> +++ sys/geom/raid/g_raid.c      (working copy)
> @@ -1993,6 +1993,12 @@
> 	g_trace(G_T_TOPOLOGY, "%s(%s, %s)", __func__, mp->name, pp->name);
> 	G_RAID_DEBUG(2, "Tasting provider %s.", pp->name);
>
> +	if (pp->geom->rank>  1) {
> +		G_RAID_DEBUG(2, "Rank of provider %s is %d, skipping.",
> +		    pp->name, pp->geom->rank);
> +		return (NULL);
> +	}
> +
> 	gp = g_new_geomf(mp, "mirror:taste");
> 	/*
> 	 * This orphan function should be never called.
>
> This will only allow the probing to happen on providers of rank 1, i.e.
> the disks themselves.  I can't see any reason to probe any other
> providers.  Any objection to this?

In general case nothing prevents from using graid on partitions (instead 
of gmirror/gstripe/...) if BIOS support is not needed. I think this 
check at least should be moved to specific metadata modules in case if 
we later add support for abstract gxxx metadata formats.

> Also, should geom_raid be in GENERIC?  ataraid was, and it's one less
> "gotcha" for upgrades.  Given the lack of ar0 ->  raid/r0 aliases, the
> upgrade is painful enough for users already, putting it in GENERIC may
> at least help slightly...

Aggressive tasting for each metadata format was actually the reason why 
I haven't added it. If we load all GEOM modules, then some floppy 
tasting will take ages.

-- 
Alexander Motin



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