On Tue, Sep 5, 2017 at 7:31 AM, Jens Axboe <axboe@xxxxxxxxx> wrote: > > Note that you'll hit a conflict in block/bio-integrity.c and > mm/page_io.c, since we had fixes later in the 4.13 series for both of > those that ended up conflicting with new changes. Both are trivial to > fix up, I've included my resolution at the end of this email. Actually, the _real_ conflict is with commit 8e654f8fbff5 ("zram: read page from backing device") and the preceding code, which added a "zram->bdev" that is the backing dev for the zram device. And then it does bio->bi_bdev = zram->bdev; but now the block layer has AGAIN changed some stupid internal detail for no obvious reason, so now it doesn't work. My initial thought was to just do bio->bi_disk = zram->disk; instead, which *syntactically* seems to make sense, and match things up in the obvious way. But when I actually thought about it more, I decided that's bullshit. "zram->disk" is not the backing device at all, it's the zram interface itself. The correct resolution seems to be bio_set_dev(bio, zram->bdev); but *dammit*, Jens, this insane crazy constant "let's randomly change block layer details around" needs to STOP. This has been going on for too many releases by now. What the f*ck is *wrong* with you and Christoph that you can't just leave this thing alone? Stop the pointless churn already. When I saw your comment: It's a quiet series this round, which I think we needed after the churn of the last few series. I was like "finally". And then this shows that you were just lying, and the pointless churn is still happening. Stop it. Really. Here's a hint: if some stupid change requires you to mindlessly do 150 changes using a wrapper helper, it's churn. We need *stability* by now, after these crazy changes. Make sure that happens. Linus