Re: [PATCH v2 15/34] nvme: port block device access to file

Jan Kara
2024-02-01T09:48:29Z

On Tue 23-01-24 14:26:32, Christian Brauner wrote:
> Signed-off-by: Christian Brauner <brauner@kernel.org>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>

Honza

> ---
> drivers/nvme/target/io-cmd-bdev.c | 16 ++++++++--------
> drivers/nvme/target/nvmet.h | 2 +-
> 2 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/nvme/target/io-cmd-bdev.c b/drivers/nvme/target/io-cmd-bdev.c
> index f11400a908f2..6426aac2634a 100644
> --- a/drivers/nvme/target/io-cmd-bdev.c
> +++ b/drivers/nvme/target/io-cmd-bdev.c
> @@ -50,10 +50,10 @@ void nvmet_bdev_set_limits(struct block_device *bdev, struct nvme_id_ns *id)
>
> void nvmet_bdev_ns_disable(struct nvmet_ns *ns)
> {
> - if (ns->bdev_handle) {
> - bdev_release(ns->bdev_handle);
> + if (ns->bdev_file) {
> + fput(ns->bdev_file);
> ns->bdev = NULL;
> - ns->bdev_handle = NULL;
> + ns->bdev_file = NULL;
> }
> }
>
> @@ -85,18 +85,18 @@ int nvmet_bdev_ns_enable(struct nvmet_ns *ns)
> if (ns->buffered_io)
> return -ENOTBLK;
>
> - ns->bdev_handle = bdev_open_by_path(ns->device_path,
> + ns->bdev_file = bdev_file_open_by_path(ns->device_path,
> BLK_OPEN_READ | BLK_OPEN_WRITE, NULL, NULL);
> - if (IS_ERR(ns->bdev_handle)) {
> - ret = PTR_ERR(ns->bdev_handle);
> + if (IS_ERR(ns->bdev_file)) {
> + ret = PTR_ERR(ns->bdev_file);
> if (ret != -ENOTBLK) {
> pr_err("failed to open block device %s: (%d)\n",
> ns->device_path, ret);
> }
> - ns->bdev_handle = NULL;
> + ns->bdev_file = NULL;
> return ret;
> }
> - ns->bdev = ns->bdev_handle->bdev;
> + ns->bdev = file_bdev(ns->bdev_file);
> ns->size = bdev_nr_bytes(ns->bdev);
> ns->blksize_shift = blksize_bits(bdev_logical_block_size(ns->bdev));
>
> diff --git a/drivers/nvme/target/nvmet.h b/drivers/nvme/target/nvmet.h
> index 6c8acebe1a1a..33e61b4f478b 100644
> --- a/drivers/nvme/target/nvmet.h
> +++ b/drivers/nvme/target/nvmet.h
> @@ -58,7 +58,7 @@
>
> struct nvmet_ns {
> struct percpu_ref ref;
> - struct bdev_handle *bdev_handle;
> + struct file *bdev_file;
> struct block_device *bdev;
> struct file *file;
> bool readonly;
>
> --
> 2.43.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR