OpenCloudOS-Kernel/drivers/block/drbd
Philipp Reisner d752b26960 drbd: Allow online change of al-stripes and al-stripe-size
Allow to change the AL layout with an resize operation. For that
the reisze command gets two new fields: al_stripes and al_stripe_size.

In order to make the operation crash save:
1) Lock out all IO and MD-IO
2) Write the super block with MDF_PRIMARY_IND clear
3) write the bitmap to the new location (all zeros, since
   we allow only while connected)
4) Initialize the new AL-area
5) Write the super block with the restored MDF_PRIMARY_IND.
6) Unfreeze all IO

Since the AL-layout has no influence on the protocol, this operation
needs to be beforemed on both sides of a resource (if intended).

Signed-off-by: Andreas Gruenbacher <agruen@linbit.com>
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2013-06-28 16:04:36 +02:00
..
Kconfig drbd: update Kconfig to match current dependencies 2012-12-06 13:08:29 +01:00
Makefile drbd: Split off netlink mandatory attribute handling into separate file 2012-11-08 16:57:45 +01:00
drbd_actlog.c drbd: Allow online change of al-stripes and al-stripe-size 2013-06-28 16:04:36 +02:00
drbd_bitmap.c drbd: cleanup ondisk meta data layout calculations and defines 2013-03-22 18:13:59 -06:00
drbd_int.h drbd: Allow online change of al-stripes and al-stripe-size 2013-06-28 16:04:36 +02:00
drbd_interval.c Merge branch 'drbd-8.4_ed6' into for-3.8-drivers-drbd-8.4_ed6 2012-11-09 14:20:23 +01: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 online change of al-stripes and al-stripe-size 2013-06-28 16:04:36 +02:00
drbd_nl.c drbd: Allow online change of al-stripes and al-stripe-size 2013-06-28 16:04:36 +02:00
drbd_nla.c drbd: Split off netlink mandatory attribute handling into separate file 2012-11-08 16:57:45 +01:00
drbd_nla.h drbd: Split off netlink mandatory attribute handling into separate file 2012-11-08 16:57:45 +01:00
drbd_proc.c Merge branch 'for-3.10/drivers' of git://git.kernel.dk/linux-block 2013-05-08 11:51:05 -07:00
drbd_receiver.c drbd: Allow online change of al-stripes and al-stripe-size 2013-06-28 16:04:36 +02:00
drbd_req.c drbd: fix drbd epoch write count for ahead/behind mode 2013-03-28 10:10:25 -06:00
drbd_req.h drbd: only fail empty flushes if no good data is reachable 2013-03-28 10:10:25 -06:00
drbd_state.c drbd: Ignore the exit code of a fence-peer handler if it returns too late 2013-06-28 16:04:36 +02:00
drbd_state.h drbd: Improved logging of state changes 2012-11-08 16:45:06 +01:00
drbd_strings.c drbd: Fix disconnect to keep the peer disk state if connection breaks during operation 2013-03-28 10:10:25 -06:00
drbd_vli.h Fix common misspellings 2011-03-31 11:26:23 -03:00
drbd_worker.c drbd: validate resync_after dependency on attach already 2013-03-28 10:10:25 -06:00
drbd_wrappers.h drbd: Split off netlink mandatory attribute handling into separate file 2012-11-08 16:57:45 +01:00