On Sunday 27 January 2008, Gabor MICSKO wrote:> Hi,
>
> I've created an test enviroment for btrfs 0.11. The aim of the test is
> to compare speed of btrfs to ext3, reiserfs, jfs, xfs, etc.
>
> I've created an 70 GB partition for btrfs, created btrfs filesystem on
> it, which is currently mounted under /data. I put the kernel source tree
> of Linux 2.6.24 to the btrfs, make allyesconfig, and i've created the
> following script:
>
> while true; do make -j2; make mrproper; cp ../.config .; make oldconfig;
> done;
>
> After some hours of compiling i got the following messages:
>
> [...]
> Jan 27 14:40:27 fusitest kernel: [114708.874739] btrfs: sdb1 checksum
> verify failed on 5637144576 wanted C2D1E2A found A8119D2F
> from_this_trans 0
> Jan 27 14:42:36 fusitest kernel: [114824.645672] btrfs: sdb1 checksum
> verify failed on 7250083840 wanted C464BE5A found 24E6E09F
> from_this_trans 0
> Jan 27 14:43:10 fusitest kernel: [114853.905567] btrfs: sdb1 checksum
> verify failed on 7250083840 wanted C464BE5A found 24E6E09F
> from_this_trans 0
> Jan 27 14:44:03 fusitest kernel: [114905.950357] btrfs: sdb1 checksum
> verify failed on 7255687168 wanted 5FE0ADBF found F0187421
> from_this_trans 0
> Jan 27 14:44:04 fusitest kernel: [114907.600041] btrfs: sdb1 checksum
> verify failed on 7255392256 wanted F12BC653 found 3CD9AD8B
> from_this_trans 0
> Jan 27 14:44:46 fusitest kernel: [114939.377708] btrfs: sdb1 checksum
> verify failed on 7248003072 wanted D04940FC found D477D3D6
> from_this_trans 0
> [...]
>
> I suppose these messages indicates some data integrity issues on the FS.
> Is this an correct assumption?
Unfortunately, there is a race where it is possible to change a buffer in
memory while it is being written by pdflush. When this happens, the buffer
is written again before a commit, but the checksum can be incorrect.
So, even though the intent of this message is to show data integrity problems,
it can currently give false positives.
-chris