From: Gleb C. <lna...@ya...> - 2024-02-25 13:38:01
|
Commit: bb78492 GitHub URL: https://github.com/SCST-project/scst/commit/bb784929448c588f87d6b674ef79b65378d8146a Author: Brian Meagher Date: 2024-02-25T16:37:34+03:00 Log Message: ----------- scst_vdisk: Fix recent breakage in vdisk_exec_read_capacity16 A recent commit (974001f66) added backport support for bdev_open_by_path. This entailed adding a struct bdev_handle, but vdisk_exec_read_capacity16 attempts to lookup virt_dev->bdev_handle->bdev without regard for the fact that if we are not using blockio then bdev_handle will be null. Rectify by making the lookup more robust. Modified Paths: -------------- scst/src/dev_handlers/scst_vdisk.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) =================================================================== diff --git a/scst/src/dev_handlers/scst_vdisk.c b/scst/src/dev_handlers/scst_vdisk.c index 4e52a22..d544cc0 100644 --- a/scst/src/dev_handlers/scst_vdisk.c +++ b/scst/src/dev_handlers/scst_vdisk.c @@ -509,7 +509,7 @@ static void vdisk_blockio_check_flush_support(struct scst_vdisk_dev *virt_dev) "Unable to open %s with EMEDIUMTYPE, DRBD passive?", virt_dev->filename); else - PRINT_ERROR("blkdev_get_by_path(%s) failed: %ld", + PRINT_ERROR("bdev_open_by_path(%s) failed: %ld", virt_dev->filename, PTR_ERR(bdev_handle)); goto out; } @@ -4961,7 +4961,7 @@ static enum compl_status_e vdisk_exec_read_capacity16(struct vdisk_cmd_params *p TRACE_ENTRY(); virt_dev = cmd->dev->dh_priv; - bdev = virt_dev->bdev_handle->bdev; + bdev = virt_dev->bdev_handle ? virt_dev->bdev_handle->bdev : NULL; q = bdev ? bdev_get_queue(bdev) : NULL; blocksize = cmd->dev->block_size; nblocks = virt_dev->nblocks - 1; |