freebsd-dev/sys/geom
Pawel Jakub Dawidek 69882ff11d MFC r197898:
If provider is open for writing when we taste it, skip it for classes that
depend on on-disk metadata. This was we won't attach to providers that are used
by other classes. For example we don't want to configure partitions on da0 if
it is part of gmirror, what we really want is partitions on mirror/foo.

During regular work it works like this: if provider is open for writing a class
receives the spoiled event from GEOM and detaches, once provider is closed the
taste event is send again and class can rediscover its metadata if it is still
there.  This doesn't work that way when new class arrives, because GEOM gives
all existing providers for it to taste, also those open for writing. Classes
have to decided on their own if they want to deal with such providers (eg.
geom_dev) or not (classes modified by this commit).

Reported by:	des, Oliver Lehmann <lehmann@ans-netz.de>
Tested by:	des, Oliver Lehmann <lehmann@ans-netz.de>
Discussed with:	phk, marcel
Reviewed by:	marcel
Approved by:	re (kib)
2009-10-12 21:08:06 +00:00
..
bde Rename the kthread_xxx (e.g. kthread_create()) calls 2007-10-20 23:23:23 +00:00
cache Despite several examples in the kernel, the third argument of 2007-06-04 18:25:08 +00:00
concat MFC r197898: 2009-10-12 21:08:06 +00:00
eli Detach GELI providers on shutdown/reboot, which will allow providers underneath 2009-03-16 19:31:08 +00:00
gate Bump copyright year. 2006-09-08 10:20:44 +00:00
journal Make gjournal work with kernel compiled with "options DIAGNOSTIC". 2009-06-30 14:34:06 +00:00
label MFC r197898: 2009-10-12 21:08:06 +00:00
linux_lvm - Apply the same naming rules of LVM names as done in the LVM code itself. 2009-06-24 22:09:30 +00:00
mirror Revert r190676,190677 2009-04-10 04:08:34 +00:00
multipath MFC r196579: 2009-09-07 16:25:09 +00:00
nop Remove trailing spaces. 2006-09-30 08:16:49 +00:00
part MFC r197898: 2009-10-12 21:08:06 +00:00
raid3 Revert r190676,190677 2009-04-10 04:08:34 +00:00
shsec MFC r197898: 2009-10-12 21:08:06 +00:00
stripe MFC r197898: 2009-10-12 21:08:06 +00:00
uzip MFC r197898: 2009-10-12 21:08:06 +00:00
vinum - Fix the issue with read access count modification on RAID-5 plexes properly. 2009-07-18 11:12:48 +00:00
virstor Avoid NULL deference. 2008-06-30 15:21:42 +00:00
zero Remove trailing spaces. 2006-02-01 12:06:01 +00:00
geom_aes.c Don't pass error value pointer to g_read_data(9) at all if we don't 2005-11-30 22:15:00 +00:00
geom_bsd_enc.c Decode as many or as few partition entries as the label claims there 2007-12-09 22:44:22 +00:00
geom_bsd.c Trivial patch to show on which geom has the error been detected. 2008-12-01 15:02:00 +00:00
geom_ccd.c - Fix a potential NULL pointer reference. Note that this should not happen in 2008-11-25 20:28:33 +00:00
geom_ctl.c Add sbuf_new_auto as a shortcut for the very common case of creating a 2008-08-09 11:14:05 +00:00
geom_ctl.h
geom_dev.c Revert revisions 188839 and 188868. Use of the ioctl in geom_dev.c 2009-07-08 05:56:14 +00:00
geom_disk.c MFC r196822, r196823, r196824: 2009-09-15 11:23:59 +00:00
geom_disk.h Revert r190676,190677 2009-04-10 04:08:34 +00:00
geom_dump.c Make the kern.geom.conftxt sysctl more usable by also dumping the 2005-11-12 20:02:02 +00:00
geom_event.c When orphaning a provider, cancel events related to it. 2007-09-27 20:18:34 +00:00
geom_fox.c Don't pass error value pointer to g_read_data(9) at all if we don't 2005-11-30 22:15:00 +00:00
geom_int.h
geom_io.c Make gjournal work with kernel compiled with "options DIAGNOSTIC". 2009-06-30 14:34:06 +00:00
geom_kern.c Add sbuf_new_auto as a shortcut for the very common case of creating a 2008-08-09 11:14:05 +00:00
geom_mbr_enc.c
geom_mbr.c Don't pass error value pointer to g_read_data(9) at all if we don't 2005-11-30 22:15:00 +00:00
geom_pc98_enc.c
geom_pc98.c Don't pass error value pointer to g_read_data(9) at all if we don't 2005-11-30 22:15:00 +00:00
geom_redboot.c Do not stop the loop when an empty or deleted directory entry is found. 2009-06-24 06:42:13 +00:00
geom_slice.c Add sbuf_new_auto as a shortcut for the very common case of creating a 2008-08-09 11:14:05 +00:00
geom_slice.h Allow to use g_slice_orphan() from outside. 2006-02-18 11:21:17 +00:00
geom_subr.c Fix a panic which (reportedly) can happen when unmounting a filesystem 2009-07-01 20:16:29 +00:00
geom_sunlabel_enc.c
geom_sunlabel.c Don't pass error value pointer to g_read_data(9) at all if we don't 2005-11-30 22:15:00 +00:00
geom_vfs.c Fix a panic which (reportedly) can happen when unmounting a filesystem 2009-07-01 20:16:29 +00:00
geom_vfs.h Remove the struct thread unuseful argument from bufobj interface. 2008-10-10 21:23:50 +00:00
geom_vol_ffs.c Don't pass error value pointer to g_read_data(9) at all if we don't 2005-11-30 22:15:00 +00:00
geom.h Make gjournal work with kernel compiled with "options DIAGNOSTIC". 2009-06-30 14:34:06 +00:00
notes