summaryrefslogtreecommitdiff
path: root/mdadm.h
diff options
context:
space:
mode:
authorAdam Kwolek <adam.kwolek@intel.com>2012-04-13 16:51:59 +0200
committerNeilBrown <neilb@suse.de>2012-04-17 12:33:37 +1000
commit016e00f54635138ce34b9e4ba18d37e182288bd1 (patch)
treefcf5ea4e39c642ae7d94eab4168d12f9c5d762b9 /mdadm.h
parent54397ed97af065b1e3a12d6beab09bc05a07a9d0 (diff)
downloadmdadm-016e00f54635138ce34b9e4ba18d37e182288bd1.tar.gz
FIX: Support metadata changes rollback
Function reshape_super() guards metadata changes. It is used to apply changes rollback in error case also. As change (apply and rollback) can be not bi-directional reshape_super() has to know if current action is metadata change that should be guarded using metadata restrictions, or this is metadata rollback change executed due to error occurrence. In second case change has to be unconditional. Signed-off-by: Adam Kwolek <adam.kwolek@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'mdadm.h')
-rw-r--r--mdadm.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/mdadm.h b/mdadm.h
index 9f58800..686d4b4 100644
--- a/mdadm.h
+++ b/mdadm.h
@@ -740,9 +740,13 @@ extern struct superswitch {
* initialized to indicate if reshape is being performed at the
* container or subarray level
*/
+#define APPLY_METADATA_CHANGES 1
+#define ROLLBACK_METADATA_CHANGES 0
+
int (*reshape_super)(struct supertype *st, long long size, int level,
int layout, int chunksize, int raid_disks,
int delta_disks, char *backup, char *dev,
+ int direction,
int verbose); /* optional */
int (*manage_reshape)( /* optional */
int afd, struct mdinfo *sra, struct reshape *reshape,