linux/drivers/block/drbd
Andreas Gruenbacher 88104ca458 drbd: Allow to change data-integrity-alg on the fly
The main purpose of this is to allow to turn data integrity checking on
and off on demand without causing interruptions.

Implemented by allocating tconn->peer_integrity_tfm only when receiving
a P_PROTOCOL message.  l accesses to tconn->peer_integrity_tf happen in
worker context, and no further synchronization is necessary.

On the sender side, tconn->integrity_tfm is modified under
tconn->data.mutex, and a P_PROTOCOL message is sent whenever.  All
accesses to tconn->integrity_tfm already happen under this mutex.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
2012-11-08 16:52:59 +01:00
..
drbd_actlog.c drbd: fix copy/paste error in comment 2012-11-08 16:52:57 +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: Introduce a "lockless" variant of drbd_send_protocoll() 2012-11-08 16:52:59 +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: Allow to change data-integrity-alg on the fly 2012-11-08 16:52:59 +01:00
drbd_nl.c drbd: Allow to change data-integrity-alg on the fly 2012-11-08 16:52:59 +01:00
drbd_proc.c drbd: rcu_read_lock() and rcu_dereference() for tconn->net_conf 2012-11-08 16:48:59 +01:00
drbd_receiver.c drbd: Allow to change data-integrity-alg on the fly 2012-11-08 16:52:59 +01:00
drbd_req.c drbd: rcu_read_lock() and rcu_dereference() for tconn->net_conf 2012-11-08 16:48:59 +01:00
drbd_req.h drbd: Runtime changeable wire protocol 2012-11-08 16:45:18 +01:00
drbd_state.c drbd: fix various disconnecting races 2012-11-08 16:49:08 +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: Removed the OBJECT_DYING and the CONFIG_PENDING bits 2012-11-08 16:49:07 +01:00
drbd_wrappers.h drbd: Remove obsolete drbd_crypto_is_hash() 2012-11-08 16:52:58 +01: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