block: use the holder as indication for exclusive opens
authorChristoph Hellwig <hch@lst.de>
Thu, 8 Jun 2023 11:02:43 +0000 (13:02 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 12 Jun 2023 14:04:04 +0000 (08:04 -0600)
commit2736e8eeb0ccdc71d1f4256c9c9a28f58cc43307
tree756552135a5496bd16f644aad640a9e955d903b4
parent2ef789288afd365f4245ba97e56189062de5148e
block: use the holder as indication for exclusive opens

The current interface for exclusive opens is rather confusing as it
requires both the FMODE_EXCL flag and a holder.  Remove the need to pass
FMODE_EXCL and just key off the exclusive open off a non-NULL holder.

For blkdev_put this requires adding the holder argument, which provides
better debug checking that only the holder actually releases the hold,
but at the same time allows removing the now superfluous mode argument.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Acked-by: Christian Brauner <brauner@kernel.org>
Acked-by: David Sterba <dsterba@suse.com> [btrfs]
Acked-by: Jack Wang <jinpu.wang@ionos.com> [rnbd]
Link: https://lore.kernel.org/r/20230608110258.189493-16-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
37 files changed:
block/bdev.c
block/fops.c
block/genhd.c
block/ioctl.c
drivers/block/drbd/drbd_nl.c
drivers/block/pktcdvd.c
drivers/block/rnbd/rnbd-srv.c
drivers/block/xen-blkback/xenbus.c
drivers/block/zram/zram_drv.c
drivers/md/bcache/super.c
drivers/md/dm.c
drivers/md/md.c
drivers/mtd/devices/block2mtd.c
drivers/nvme/target/io-cmd-bdev.c
drivers/s390/block/dasd_genhd.c
drivers/target/target_core_iblock.c
drivers/target/target_core_pscsi.c
fs/btrfs/dev-replace.c
fs/btrfs/ioctl.c
fs/btrfs/volumes.c
fs/btrfs/volumes.h
fs/erofs/super.c
fs/ext4/super.c
fs/f2fs/super.c
fs/jfs/jfs_logmgr.c
fs/nfs/blocklayout/dev.c
fs/nilfs2/super.c
fs/ocfs2/cluster/heartbeat.c
fs/reiserfs/journal.c
fs/reiserfs/reiserfs.h
fs/super.c
fs/xfs/xfs_super.c
include/linux/blkdev.h
kernel/power/hibernate.c
kernel/power/power.h
kernel/power/swap.c
mm/swapfile.c