Re: [Patch v2 07/42] btrfs: pass btrfs_inode into btrfs_writepage_endio_finish_ordered()
From: Qu Wenruo <hidden>
Date: 2021-05-22 00:24:54
On 2021/5/21 下午10:27, Josef Bacik wrote:
On 4/27/21 7:03 PM, Qu Wenruo wrote:quoted
There is a pretty bad abuse of btrfs_writepage_endio_finish_ordered() in end_compressed_bio_write(). It passes compressed pages to btrfs_writepage_endio_finish_ordered(), which is only supposed to accept inode pages. Thankfully the important info here is the inode, so let's pass btrfs_inode directly into btrfs_writepage_endio_finish_ordered(), and make @page parameter optional. By this, end_compressed_bio_write() can happily pass page=NULL while still get everything done properly. Also, to cooperate with such modification, replace @page parameter for trace_btrfs_writepage_end_io_hook() with btrfs_inode. Although this removes page_index info, the existing start/len should be enough for most usage. Signed-off-by: Qu Wenruo <redacted>This was merged into misc-next yesterday it looks like, and it's caused both of my VM's that do compression variations to panic on different tests, one on btrfs/011 and one on btrfs/027. I bisected it to this patch, I'm not sure what's wrong with it but it needs to be dropped from misc-next until it gets fixed otherwise it'll keep killing the overnight xfstests runs. Thanks,
Any dying message to share? I just tried with "-o compress" mount option for btrfs/011 and btrfs/027, none of them crashed on my local branch (full subpage RW branch). Maybe it's some dependency missing or later subpage fixes needed? Thanks, Qu
Josef