block: consolidate __invalidate_device and fsync_bdev
authorChristoph Hellwig <hch@lst.de>
Fri, 11 Aug 2023 10:08:24 +0000 (12:08 +0200)
committerChristian Brauner <brauner@kernel.org>
Mon, 21 Aug 2023 12:35:31 +0000 (14:35 +0200)
commit560e20e4bf6484a0c12f9f3c7a1aa55056948e1e
tree5ab5a370c9ef1622f2c5711d75dd47e69d9a7dfa
parent127a5093c79d9cdea9e6edc016ab346e6dd16c23
block: consolidate __invalidate_device and fsync_bdev

We currently have two interfaces that take a block_devices and the find
a mounted file systems to flush or invaldidate data on it.  Both are a
bit problematic because they only work for the "main" block devices
that is used as s_dev for the super_block, and because they don't call
into the file system at all.

Merge the two into a new bdev_mark_dead helper that does both the
syncing and invalidation and which is properly documented.  This is
in preparation of merging the functionality into the ->mark_dead
holder operation so that it will work on additional block devices
used by a file systems and give us a single entry point for invalidation
of dead devices or media.

Note that a single standalone fsync_bdev call for an obscure ioctl
remains for now, but that one will also be deal with in a bit.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Message-Id: <20230811100828.1897174-14-hch@lst.de>
Signed-off-by: Christian Brauner <brauner@kernel.org>
block/bdev.c
block/disk-events.c
block/genhd.c
block/partitions/core.c
drivers/s390/block/dasd.c
fs/super.c
include/linux/blkdev.h