mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
9e8dec2f38
The lvchange-raid[456].sh test checks that mismatches can be detected properly. It does this by writing garbage to the back half of one of the legs directly. When performing a "check" or "repair" of mismatches, MD does a good job going directly to disk and bypassing any buffers that may prevent it from seeing mismatches. However, in the case of RAID4/5/6 we have the stripe cache to contend with and this is not bypassed. Thus, mismatches which have /just/ happened to an area that now populates the stripe cache may be overlooked. This isn't a serious issue, however, because the stripe cache is short-lived and reasonably small. So, while there may be a small window of time between the disk changing underneath the RAID array and when you run a "check"/"repair" - causing a mismatch to be missed - that would be no worse than if a user had simply run a "check" a few seconds before the disk changed. IOW, it simply isn't worth making a fuss over dropping the stripe cache before beginning a "check" or "repair" (which we actually did attempt to do a while back). So, to get the test running smoothly, we simply deactivate and reactivate the LV to force the stripe cache to be dropped and then proceed. We could just as easily wait a few seconds for the stripe cache to empty also. |
||
---|---|---|
.. | ||
api | ||
dbus | ||
lib | ||
shell | ||
unit | ||
.gitignore | ||
Makefile.in |