freebsd-skq/sys/geom
Pawel Jakub Dawidek 5d8a6a1078 Remove the topology lock from disk_gone(), it might be called with regular
mutexes held and the topology lock is an sx lock.

The topology lock was there to protect traversing through the list of providers
of disk's geom, but it seems that disk's geom has always exactly one provider.

Change the code to call g_wither_provider() for this one provider, which is
safe to do without holding the topology lock and assert that there is indeed
only one provider.

Discussed with:	ken
MFC after:	1 week
2012-09-28 08:22:51 +00:00
..
bde Remove unneeded G_PF_CANDELETE flag. 2012-08-28 19:28:31 +00:00
cache Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
concat Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
eli Always initialize sc_ekey, because as of r238116 it is always used. 2012-08-10 18:43:29 +00:00
gate In g_gate_dumpconf() always check the result of g_gate_hold(). 2012-08-07 18:50:33 +00:00
journal Current implementations of sync(2) and syncer vnode fsync() VOP uses 2012-02-06 11:04:36 +00:00
label Revert r235918 for now and add comment explaining the reason for the 2012-05-25 10:08:48 +00:00
linux_lvm Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
mirror When synchronizing, include in the config dump amount of 2012-09-11 20:20:13 +00:00
mountver Add trivial resize handling to gmountver(8). 2012-07-07 22:20:47 +00:00
multipath (g_multipath_rotate): Fix algorithm so that it does rotate over all good 2012-08-25 10:36:31 +00:00
nop Add trivial resize handling to gnop(8). 2012-07-07 22:22:13 +00:00
part Remove unneeded G_PF_CANDELETE flag. 2012-08-28 19:28:31 +00:00
raid Add global and per-module sysctls/tunables to enable/disable metadata taste. 2012-09-13 13:27:09 +00:00
raid3 When synchronizing, include in the config dump amount of 2012-09-11 20:20:13 +00:00
sched Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
shsec Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
stripe Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
uncompress Remove unneeded G_PF_CANDELETE flag. 2012-08-28 19:28:31 +00:00
uzip Remove unneeded G_PF_CANDELETE flag. 2012-08-28 19:28:31 +00:00
vinum Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
virstor In virstor_ctl_stop(), check for a valid softc before trying to update 2012-08-03 20:24:16 +00:00
zero Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
geom_aes.c Fix orphan() methods of several GEOM classes to not assume that there 2012-07-07 17:09:44 +00:00
geom_bsd_enc.c
geom_bsd.c Avoid to check the same cache line/variable from all the locking 2012-01-28 14:00:21 +00:00
geom_ccd.c Include sys/sbuf.h directly. 2011-07-11 05:22:31 +00:00
geom_ctl.c Finish r210923, 210926. Mark some devices as eternal. 2011-01-04 10:59:38 +00:00
geom_ctl.h
geom_dev.c Remove unneeded G_PF_CANDELETE flag. 2012-08-28 19:28:31 +00:00
geom_disk.c Remove the topology lock from disk_gone(), it might be called with regular 2012-09-28 08:22:51 +00:00
geom_disk.h Implement media change notification for DA and CD removable media devices. 2012-07-29 11:51:48 +00:00
geom_dump.c Do not hide stripeoffset from libgeom(3), it may be useful even when 2011-06-02 12:49:45 +00:00
geom_event.c Implement media change notification for DA and CD removable media devices. 2012-07-29 11:51:48 +00:00
geom_flashmap.c - Correct signedness for casts; 2012-05-23 20:51:21 +00:00
geom_fox.c Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
geom_int.h
geom_io.c Clone BIO_ORDERED flag, for disk drivers (namely CAM) that try to 2012-08-07 20:16:10 +00:00
geom_kern.c Move the three geom kprocs as threads under a single pid. 2011-05-11 21:47:30 +00:00
geom_map.c Use %j to match intmax_t. 2012-07-01 05:22:13 +00:00
geom_mbr_enc.c
geom_mbr.c Avoid to check the same cache line/variable from all the locking 2012-01-28 14:00:21 +00:00
geom_pc98_enc.c
geom_pc98.c Avoid to check the same cache line/variable from all the locking 2012-01-28 14:00:21 +00:00
geom_redboot.c - Give geom_redboot taste of flash/spi. Now there is another provider 2010-02-03 01:12:19 +00:00
geom_slice.c Remove unneeded G_PF_CANDELETE flag. 2012-08-28 19:28:31 +00:00
geom_slice.h
geom_subr.c Allow to pass providers with /dev/ prefix to g_provider_by_name(). 2012-09-01 10:52:19 +00:00
geom_sunlabel_enc.c
geom_sunlabel.c Include sys/sbuf.h directly. 2011-07-11 05:22:31 +00:00
geom_vfs.c Partially revert r238886 in part of GEOM_VFS spoiling. 2012-07-29 20:04:09 +00:00
geom_vfs.h
geom_vol_ffs.c Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
geom.h Remove unneeded G_PF_CANDELETE flag. 2012-08-28 19:28:31 +00:00
notes