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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-geom
To unsubscribe, send any mail to "[email protected]"

Reply via email to