The extent_map::bdev is unused and and can be removed, but it's not straightforward so there are several steps. The first patch decouples bdev from map_lookup. The remaining patches clean up use of the bdev, removing a few bio_set_dev on the way. In the end, submit_extent_page is one parameter lighter.
This has survived several fstests runs David Sterba (5): btrfs: assert extent_map bdevs and lookup_map and split btrfs: get bdev from latest_dev for dio bh_result btrfs: drop bio_set_dev where not needed btrfs: remove extent_map::bdev btrfs: drop bdev argument from submit_extent_page fs/btrfs/compression.c | 10 ---------- fs/btrfs/disk-io.c | 3 --- fs/btrfs/extent_io.c | 15 +++------------ fs/btrfs/extent_map.c | 6 +++++- fs/btrfs/extent_map.h | 11 ++--------- fs/btrfs/file-item.c | 1 - fs/btrfs/file.c | 3 --- fs/btrfs/inode.c | 14 ++++---------- fs/btrfs/relocation.c | 2 -- 9 files changed, 14 insertions(+), 51 deletions(-) -- 2.23.0