This is an updated implementation of journal guided resync, intended to be
suitable for production systems. This feature addresses the problem with RAID
arrays that take too long to resync - similar to the existing MD write-intent
bitmap feature, we resync only the stripes that were undergoing writes at the
time of the crash. Unlike write-intent bitmaps, our testing shows very little
performance degredation as a result of the feature - around 3-5% vs around 30%
This feature is based on work described in this paper:
As a summary, we introduce a new data write mode known as declared mode. This
is based on ordered mode except that a list of blocks to be written during the
current transaction is added to the journal before the blocks themselves are
written to the disk. Then, if the system crashes, we can resync only those
blocks during journal replay and skip the rest of the resync of the RAID array.
The changes consist of patches to ext3, jbd, MD, and the raid456 personality.
These patches are currently against the RHEL 5 kernel 2.6.18-128.1.6. Porting
to ext4/jbd2 and a more modern kernel is a TODO item.
[email protected] writes:
> The changes consist of patches to ext3, jbd, MD, and the raid456 personality.
> These patches are currently against the RHEL 5 kernel 2.6.18-128.1.6. Porting
> to ext4/jbd2 and a more modern kernel is a TODO item.
The basic idea seems very cool, but the code would probably need
porting to mainline before anything could be done with it on this
list. Also most likely you would need a ext4 version.
(my experience is that the ext3 maintainers don't accept new features
[email protected] -- Speaking for myself only.