Re: [PATCH 14/29] s390/dasd: Convert to bdev_open_by_path()

Jan Kara
2023-10-02T11:24:53Z

On Wed 27-09-23 23:43:44, Stefan Haberland wrote:
> Am 23.08.23 um 12:48 schrieb Jan Kara:
> > Convert dasd to use bdev_open_by_path() and pass the handle around.
> >
> > CC: linux-s390@vger.kernel.org
> > CC: Christian Borntraeger <borntraeger@linux.ibm.com>
> > CC: Sven Schnelle <svens@linux.ibm.com>
> > Acked-by: Christoph Hellwig <hch@lst.de>
> > Signed-off-by: Jan Kara <jack@suse.cz>
> > ---
>
> The DASD part does not compile. please see below.
>
> Beside of this the patch looks OK to me.
>
> with the error fixed:
> Acked-by: Stefan Haberland <sth@linux.ibm.com>

Thanks for noticing. I can see Christian has already fixed up the problem
in his tree. I guess he'll pick up your ack once he returns from vacation.

Honza

>
> > drivers/s390/block/dasd.c | 12 +++++----
> > drivers/s390/block/dasd_genhd.c | 45 ++++++++++++++++-----------------
> > drivers/s390/block/dasd_int.h | 2 +-
> > drivers/s390/block/dasd_ioctl.c | 2 +-
> > 4 files changed, 31 insertions(+), 30 deletions(-)
> >
> > diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c
> > index 215597f73be4..16a2d631a169 100644
> > --- a/drivers/s390/block/dasd.c
> > +++ b/drivers/s390/block/dasd.c
> > @@ -412,7 +412,8 @@ dasd_state_ready_to_online(struct dasd_device * device)
> > KOBJ_CHANGE);
> > return 0;
> > }
> > - disk_uevent(device->block->bdev->bd_disk, KOBJ_CHANGE);
> > + disk_uevent(device->block->bdev_handle->bdev->bd_disk,
> > + KOBJ_CHANGE);
> > }
> > return 0;
> > }
> > @@ -432,7 +433,8 @@ static int dasd_state_online_to_ready(struct dasd_device *device)
> > device->state = DASD_STATE_READY;
> > if (device->block && !(device->features & DASD_FEATURE_USERAW))
> > - disk_uevent(device->block->bdev->bd_disk, KOBJ_CHANGE);
> > + disk_uevent(device->block->bdev_handle->bdev->bd_disk,
> > + KOBJ_CHANGE);
> > return 0;
> > }
> > @@ -3590,7 +3592,7 @@ int dasd_generic_set_offline(struct ccw_device *cdev)
> > * in the other openers.
> > */
> > if (device->block) {
> > - max_count = device->block->bdev ? 0 : -1;
> > + max_count = device->block->bdev_handle ? 0 : -1;
> > open_count = atomic_read(&device->block->open_count);
> > if (open_count > max_count) {
> > if (open_count > 0)
> > @@ -3636,8 +3638,8 @@ int dasd_generic_set_offline(struct ccw_device *cdev)
> > * so sync bdev first and then wait for our queues to become
> > * empty
> > */
> > - if (device->block)
> > - bdev_mark_dead(device->block->bdev, false);
> > + if (device->block && device->block->bdev_handle) {
>
> the brace is not needed here and there is no matching right brace.
>
> > + bdev_mark_dead(device->block->bdev_handle->bdev, false);
> > dasd_schedule_device_bh(device);
> > rc = wait_event_interruptible(shutdown_waitq,
> > _wait_for_empty_queues(device));
> >
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR