bdi cleanups v6

From: Christoph Hellwig
Date: Mon Sep 21 2020 - 04:09:07 EST

Hi Jens,

this series contains a bunch of different BDI cleanups. The biggest item
is to isolate block drivers from the BDI in preparation of changing the
lifetime of the block device BDI in a follow up series.

Changes since v5:
- improve a commit message
- improve the stable_writes deprecation printk
- drop "drbd: remove RB_CONGESTED_REMOTE"
- drop a few hunks that add a local variable in a otherwise unchanged
file due to changes in the previous revisions
- keep updating ->io_pages in queue_max_sectors_store
- set an optimal I/O size in aoe
- inherit the optimal I/O size in bcache

Changes since v4:
- add a back a prematurely removed assignment in dm-table.c
- pick up a few reviews from Johannes that got lost

Changes since v3:
- rebased on the lasted block tree, which has some of the prep
changes merged
- extend the ->ra_pages changes to ->io_pages
- move initializing ->ra_pages and ->io_pages for block devices to

Changes since v2:
- fix a rw_page return value check
- fix up various changelogs

Changes since v1:
- rebased to the for-5.9/block-merge branch
- explicitly set the readahead to 0 for ubifs, vboxsf and mtd
- split the zram block_device operations
- let rw_page users fall back to bios in swap_readpage