summaryrefslogtreecommitdiff
path: root/include/linux/blkdev.h
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2023-09-27 11:34:08 +0200
committerChristian Brauner <brauner@kernel.org>2023-10-28 13:29:16 +0200
commit841dd789b8625eb9288aaa2be9f10872e6622033 (patch)
tree68ccf22ca8afac4616f8135532e6ad52d12118c9 /include/linux/blkdev.h
parente719b4d156749f02eafed31a3c515f2aa9dcc72a (diff)
block: Use bdev_open_by_dev() in blkdev_open()
Convert blkdev_open() to use bdev_open_by_dev(). To be able to propagate handle from blkdev_open() to blkdev_release() we need to stop using existence of file->private_data to determine exclusive block device opens. Use bdev_handle->mode for this purpose since file->f_flags isn't usable for this (O_EXCL is cleared from the flags during open). Acked-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Jan Kara <jack@suse.cz> Link: https://lore.kernel.org/r/20230927093442.25915-2-jack@suse.cz Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r--include/linux/blkdev.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 03d3adc3ff34..51fa7ffdee83 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -1482,6 +1482,7 @@ extern const struct blk_holder_ops fs_holder_ops;
struct bdev_handle {
struct block_device *bdev;
void *holder;
+ blk_mode_t mode;
};
struct block_device *blkdev_get_by_dev(dev_t dev, blk_mode_t mode, void *holder,