On Mon, May 14, 2018 at 12:52 PM, David Sterba <dste...@suse.cz> wrote: > On Mon, May 14, 2018 at 03:02:10PM +0800, Qu Wenruo wrote: >> As btrfs(5) specified: >> >> Note >> If nodatacow or nodatasum are enabled, compression is disabled. >> >> If NODATASUM or NODATACOW set, we should not compress the extent. >> >> And in fact, we have bug report about corrupted compressed extent >> leading to memory corruption in mail list. > > Link please.
https://bugzilla.kernel.org/show_bug.cgi?id=199707 & https://www.spinics.net/lists/linux-btrfs/msg77971.html >> Although it's mostly buggy lzo implementation causing the problem, btrfs >> still needs to be fixed to meet the specification. > > That's very vague, what's the LZO bug? If the input is garbage and lzo > decompression cannot decompress it, it's not a lzo bug. The bug is the kernel doesn't just give an I/O error. It totally crashes the system. Even a regular user cat'ing an invalid btrfs-lzo-compressed file will take the system down. Qu's current theory which I agree with is it causes some kind of random kernel memory corruption. The crashes sometimes include "BTRFS: decompress failed" at the start, but give backtraces for other things than btrfs lzo code. -- 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