I've been trying to test the snappy compression patches, but I'm getting corruptions when trying to use snappy as built on my system.
I'm checking out the Linux 3.2.6 kernel, merging that with the latest 'for-linus' branch on Chris Mason's kernel.org repo, and then integrating the snappy and lz4 patches from David Sterba's git repository (dev/compression-squad branch). I've tried a simple merge of the dev/compression-squad branch (which merged without complaint by git), and I also tried a second build of the kernel integrating the dev/compression-squad branch patches with format-patch (git format-patch -k -m -U5 --stdout <range> | git am -3 -k). I've also tried sourcing my snappy patches from Chris Mason's snappy branch on kernel.org with the same result. I get the same results either way. My system is a Core 2 Duo x86_64 Sabayon based system (Gentoo is our parent distro). My target btrfs/snappy partition is a 16 GB partition I use for testing on a 500GB Western Digital Hard Drive. When I copy directory containing a kernel sources git repository to a freshly formated partition mounted with snappy, I get a corrupted copy. If I mount with lzo or lz4 compression, I don't see any corruptions from the copy. I'm not showing any errors in dmesg. My procedure to replicate is as follows: mkfs.btrfs -m single /dev/sdb6 mount -o compress-force=snappy,autodefrag /dev/sdb6 /mnt/benchmark/ cp -a /var/tmp/portage/subdir1 /mnt/benchmark/ diff -Naur /var/tmp/portage/subdir1 /mnt/benchmark/subdir1 | less I've spot checked the corrupted files with filefrag, and the one's I've checked are *NOT* in-lined. The following is a brief, representative excerpt of the diff (the full diff is very long): diff -Naur /var/tmp/portage/subdir1/linux-btrfs-backport/drivers/net/bnx2x/bnx2x_reg.h /mnt/benchmark/subdir1/linux-btrfs-backport/drivers/net/bnx2x/bnx2x_reg.h --- /var/tmp/portage/subdir1/linux-btrfs-backport/drivers/net/bnx2x/bnx2x_reg.h 2011-01-12 16:31:39.000000000 -0600 +++ /mnt/benchmark/subdir1/linux-btrfs-backport/drivers/net/bnx2x/bnx2x_reg.h 2011-01-12 16:31:39.000000000 -0600 @@ -4051,76 +4051,73 @@ #define UCM_REG_TM_INIT_CRD 0xe021c /* [RW 28] The CM header for Timers expiration command. */ #define UCM_REG_TM_UCM_HDR 0xe009c -/* [RW 1] Timers - CM Interface enable. If 0 - the valid input is +/* [RW Timimers - CM Interface enable. If 0 - the valid input is disregarded; acknowledge output is deasserted; all other signals are treated as usual; if 1 - normal activity. */ -#define UCM_REG_TM_UCM_IFEN 0xe001c -/* [RW 3] The weight of the Timers input in the WRR mechanism. 0 stands for - weight 8 (the most prioritised); 1 stands for weight 1(least - prioritised); 2 stands for weight 2; tc. */ +#define UCM_REG_TM_UCM_IFEN 0xe00 +/* * [RW 3] The weight of the mers input i in the WRR mechanism. 0 stands for + ightht 8 (the most prioritised); 1 stands foreighght 1(least + ioritised); ; 2 stands for weight 2; tc. */ #define UCM_REG_TM_WEIGHT 0xe00d4 -/* [RW 1] Input tsem Interface enable. If 0 - the valid input is +/* [RW TiInput tsem Interface enable. If 0 - the valid input is disregarded; acknowledge output is deasserted; all other signals are treated as usual; if 1 - normal activity. */ -#define UCM_REG_TSEM_IFEN 0xe0024 -/* [RC 1] Set when the message length mismatch (relative to last indication) - at the tsem interface is detected. */ +#define UCM_REG_TSEM_IFEN 0xe00 +/* * [RC 1] Set when the message length mismatch (relative to last indication) + thehe tsem terfrface is detected. */ #define UCM_REG_TSEM_LENGTH_MIS 0xe015c Here's a list of the top commits in my git repository: 54ca0b5 btrfs: lz4: tune speed/compression ratio 7ead5fb btrfs: lz4: add wrapper functions and enable it 3a611a7 btrfs: lz4: add wrapper for context size estimation ae2de6b btrfs: add LZ4 compression method 56e0aa6 btrfs: prepare incompat flags for more compression methods 540f832 Btrfs: fix decompressing of snappy-compressed inline extents 8f8b19f8 Btrfs: fix incompat flags setting 369cc38 SNAPPY: Add dual GPL/BSD license to snappy module b479967 Add snappy interface to crypto API e68c69a BTRFS: Add snappy support v2 428ac51 Add the snappy-c compressor to lib v2 4d0defa Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs into linux-3.2.6-btrfs-lz4-v6.3 c2db2e2 Linux 3.2.6 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html