From: Rob Landley <rob@xxxxxxxxxxx> 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@xxxxxxxxxxx> --- 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 -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html