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: David Sterba <hidden>
Date: 2021-05-21 20:24:46

On Fri, May 21, 2021 at 10:27:08AM -0400, 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,
The single patch can't be removed due to dependencies, so I'll put the
whole series to a topic branch again so misc-next works.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help