linux/drivers/block/drbd
Philipp Reisner d3fcb4908d drbd: protect all idr accesses that might sleep with drbd_cfg_rwsem
With this commit the locking for all accesses to IDRs is complete:

 * Non sleeping read accesses are protected by RCU
 * sleeping read accesses are protocted by a read lock on drbd_cfg_rwsem
 * accesses that add anything are protected by a write lock
 * accesses that remove an object are protoected by a write lock
   and a call to synchronize_rcu() after it is removed from the IDR
   and before the object is actually free()ed.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
2012-11-08 16:45:17 +01:00
..
drbd_actlog.c drbd: improvements to activate/deactivate multiple activity log extents 2012-11-08 16:45:02 +01:00
drbd_bitmap.c drbd: introduce a bio_set to allocate housekeeping bios from 2011-10-14 16:48:06 +02:00
drbd_int.h drbd: protect all idr accesses that might sleep with drbd_cfg_rwsem 2012-11-08 16:45:17 +01:00
drbd_interval.c drbd: Iterate over all overlapping intervals in a tree 2011-10-14 16:47:37 +02:00
drbd_interval.h drbd: Iterate over all overlapping intervals in a tree 2011-10-14 16:47:37 +02:00
drbd_main.c drbd: protect all idr accesses that might sleep with drbd_cfg_rwsem 2012-11-08 16:45:17 +01:00
drbd_nl.c drbd: protect all idr accesses that might sleep with drbd_cfg_rwsem 2012-11-08 16:45:17 +01:00
drbd_proc.c drbd: protect all idr accesses that might sleep with drbd_cfg_rwsem 2012-11-08 16:45:17 +01:00
drbd_receiver.c drbd: protect all idr accesses that might sleep with drbd_cfg_rwsem 2012-11-08 16:45:17 +01:00
drbd_req.c drbd: Use tconn in request_timer_fn() 2012-11-08 16:45:07 +01:00
drbd_req.h drbd: Introduced a new type union drbd_dev_state 2012-11-08 16:45:04 +01:00
drbd_state.c drbd: rcu_read_[un]lock() for all idr accesses that do not sleep 2012-11-08 16:45:16 +01:00
drbd_state.h drbd: Improved logging of state changes 2012-11-08 16:45:06 +01:00
drbd_strings.c drbd: Allow volumes to become primary only on one side 2012-11-04 00:16:31 +01:00
drbd_vli.h Fix common misspellings 2011-03-31 11:26:23 -03:00
drbd_worker.c drbd: protect all idr accesses that might sleep with drbd_cfg_rwsem 2012-11-08 16:45:17 +01:00
drbd_wrappers.h drbd: Rename drbd_endio_{pri,sec} -> drbd_{,peer_}request_endio 2011-10-14 16:47:36 +02:00
Kconfig drbd: Kconfig fix 2009-12-29 17:38:28 +01:00
Makefile drbd: Moved the state functions into its own source file 2011-09-28 10:26:43 +02:00