[PATCH 0/8] Reshape restart after filesystem pivot
flat view
STALE5484d
From: Adam Kwolek <hidden>
Date: 2011-09-27 12:04:30
This patch series (8) implements manual reshape restart/continuation
in the following scenario:
1. Condition:
During system boot mdadm finds array under reshape that should be
assembled. This happens while initramfs is mounted
(before file system pivot)
2. Scenario:
a) Assembly procedure assembles array and runs reshape continuation
procedure (as usual). Reshape procedure continues reshape and during
file system pivot lost file system context and mdadm cannot control
reshape process using check-pointing
To avoid this, reshape procedure is informed via '--freeze-reshape' option
that currently system is in initrd phase (before file system pivot).
Reshape restores critical section and prepares array for later reshape
continuation (sets reshape position read from metadata checkpoint).
At this moment mdadm finishes his work. Array is fully functional/accessible now.
0001-Do-not-continue-reshape-during-initrd-phase.patch
b) After system boot, user can manually invoke reshape continuation.
New mdadm option '--continue' for grow command was added.
This allows for reshape continuation. mdadm for reshape continuation
uses parameters read from metadata. Command line can looks as follows:
mdadm -G --continue device_name [--backup-file=file_name]
where:
device_name : device that reshape should be continued on
e.g. /dev/md/container_name or /dev/md/raid_name
backup-file : optional parameter required when backup-file
was use previously for reshape execution
For external metadata mdadm takes carry for metadata compatibility
e.g. container operation can be continued on array device /and opposite/.
0002-Add-continue-option-to-grow-command.patch
0003-Do-not-restart-reshape-if-it-is-started-already.patch
0004-Set-correct-reshape-restart-position.patch
0005-Move-code-to-get_data_disks-function.patch
0006-Verify-reshape-restart-position.patch
3. man update:
The last 2 patches provides madam's man update for '--freeze-reshape' and
'--continue' options.
0007-Manual-update-for-continue-option.patch
0008-Manual-update-for-continue-option.patch
Note: This series requires patch for throwing core dump by restore_backup() function:
0001-FIX-restore_backup-throws-core-dump.patch
BR
Adam
---
Adam Kwolek (8):
Manual update for --continue option
Manual update for --continue option
Verify reshape restart position
Move code to get_data_disks() function
Set correct reshape restart position
Do not restart reshape if it is started already
Add continue option to grow command
Do not continue reshape during initrd phase
Assemble.c | 12 ++-
Grow.c | 236 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
Incremental.c | 16 ++--
ReadMe.c | 2
mdadm.8.in | 40 ++++++++++
mdadm.c | 47 +++++++++--
mdadm.h | 25 +++++-
util.c | 10 ++
8 files changed, 341 insertions(+), 47 deletions(-)
--
Signature