How to disable all GEOM tasting?

dawidek.net pawel at dawidek.net
Thu Aug 1 10:33:43 UTC 2013


Dnia 1 sie 2013 o godz. 11:16 Luca Ferrari <fluca1978 at infinito.it> napisał(a):

> On Thu, Aug 1, 2013 at 10:21 AM, Lev Serebryakov <lev at freebsd.org> wrote:
>> Hello, Luca.
>> You wrote 1 августа 2013 г., 11:31:21:
>> 
>> LF> However, I don't get the whole point in disabling tasting: it is
>> LF> required for proper system functioning.
>>   Presence of a lot (and "a lot" could mean THOUSANDS -- think about regular ZVOLs
>> snapshots on iSCSI-used NAS) of "foreign" "block devices".
> 
> Uhm...but in such case the class should have a g_taste set to NULL to
> avoid tasting on itself. What I was saying is that disabling taste
> system wide (i.e., in the geom subsystem) cannot work.
> Am I wrong?

The biggest problem with disabling tasting is that the corresponding entries won't be created in /dev/. There is the DEV GEOM class, which create those entries from its taste method.

I do see a value in being able to temporairly disable tasting in some emergency situations, but there is no way to do that now.

Taste methods are called from three different places:
1. When new provider is created all GEOM classes are noticed.
2. When new GEOM class is loaded it gets all existing providers for tasting.
3. When the last consumer that had provider open for writing closes its access, GEOM notices all the classes again, as writes might have changed provider's metadata and classes may be able to find something interesting now.

-- 
Paweł Jakub Dawidek


More information about the freebsd-geom mailing list