Thread (117 messages) 117 messages, 8 authors, 2021-05-30

Re: [Patch v2 07/42] btrfs: pass btrfs_inode into btrfs_writepage_endio_finish_ordered()

From: Josef Bacik <josef@toxicpanda.com>
Date: 2021-05-21 14:27:14

On 4/27/21 7:03 PM, Qu Wenruo wrote:
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,

Josef
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help