Messages in this thread Patch in this message |  | | From | Rob Landley <> | Subject | [PATCH] Update Documentation/md.txt to mention journaling won't help dirty+degraded case. | Date | Wed, 2 Sep 2009 17:49:46 -0500 |
| |
From: Rob Landley <rob@landley.net>
Add more warnings to the "Boot time assembly of degraded/dirty arrays" section, explaining that using a journaling filesystem can't overcome this problem.
Signed-off-by: Rob Landley <rob@landley.net> ---
Documentation/md.txt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
diff --git a/Documentation/md.txt b/Documentation/md.txt index 4edd39e..52b8450 100644 --- a/Documentation/md.txt +++ b/Documentation/md.txt @@ -75,6 +75,23 @@ So, to boot with a root filesystem of a dirty degraded raid[56], use md-mod.start_dirty_degraded=1 +Note that Journaling filesystems do not effectively protect data in this +case, because the update granularity of the RAID is larger than the journal +was designed to expect. Reconstructing data via partity information involes +matching together corresponding stripes, and updating only some of these +stripes renders the corresponding data in all the unmatched stripes +meaningless. Thus seemingly unrelated data in other parts of the filesystem +(stored in the unmatched stripes) can become unreadable after a partial +update, but the journal is only aware of the parts it modified, not the +"collateral damage" elsewhere in the filesystem which was affected by those +changes. + +Thus successful journal replay proves nothing in this context, and even a +full fsck only shows whether or not the filesystem's metadata was affected. +(A proper solution to this problem would involve adding journaling to the RAID +itself, at least during degraded writes. In the meantime, try not to allow +a system to shut down uncleanly with its RAID both dirty and degraded, it +can handle one but not both.) Superblock formats ------------------
-- Latency is more important than throughput. It's that simple. - Linus Torvalds
|  |