From: Thomas Huth <thuth@redhat.com>
To: jrossi@linux.ibm.com, qemu-devel@nongnu.org, qemu-s390x@nongnu.org
Cc: frankja@linux.ibm.com
Subject: Re: [PATCH 09/18] pc-bios/s390-ccw: Remove panics from SCSI IPL path
Date: Mon, 30 Sep 2024 09:48:03 +0200 [thread overview]
Message-ID: <f0d95299-48ca-4c23-bf68-dda8e499ad7f@redhat.com> (raw)
In-Reply-To: <20240927005117.1679506-10-jrossi@linux.ibm.com>
On 27/09/2024 02.51, jrossi@linux.ibm.com wrote:
> From: Jared Rossi <jrossi@linux.ibm.com>
>
> Remove panic-on-error from virtio-scsi IPL specific functions so that error
> recovery may be possible in the future.
>
> Functions that would previously panic now provide a return code.
>
> Signed-off-by: Jared Rossi <jrossi@linux.ibm.com>
>
> ---
...
> @@ -572,23 +575,37 @@ static void zipl_load_segment(ComponentEntry *entry)
> }
> address = virtio_load_direct(cur_desc[0], cur_desc[1], 0,
> (void *)address);
> - IPL_assert(address != -1, "zIPL load segment failed");
> + if (!address) {
Shouldn't that be "if (address == -1)" or "if (address < 0)" instead?
Hmm, virtio_load_direct() seems to return an "unsigned long", so maybe that
one rather needs to be fixed, too?
> + puts("zIPL load segment failed");
> + return -EIO;
> + }
> }
> } while (blockno);
> +
> + return 0;
> }
...
> @@ -78,24 +84,30 @@ static void prepare_request(VDev *vdev, const void *cdb, int cdb_size,
> }
> }
>
> -static inline void vs_io_assert(bool term, const char *msg)
> +static inline bool vs_io_assert(bool term, const char *msg)
> {
> - if (!term) {
> - virtio_scsi_verify_response(&resp, msg);
> + if (!term && !virtio_scsi_verify_response(&resp, msg)) {
Should that be "||" instead of "&&" ?
> + return false;
> }
> +
> + return true;
> }
>
> -static void vs_run(const char *title, VirtioCmd *cmd, VDev *vdev,
> +static int vs_run(const char *title, VirtioCmd *cmd, VDev *vdev,
> const void *cdb, int cdb_size,
> void *data, uint32_t data_size)
> {
> prepare_request(vdev, cdb, cdb_size, data, data_size);
> - vs_io_assert(virtio_run(vdev, VR_REQUEST, cmd) == 0, title);
> + if (!vs_io_assert(virtio_run(vdev, VR_REQUEST, cmd) == 0, title)) {
> + puts(title);
Shouldn't there be a "return -1;" or something similar here?
> + }
> +
> + return 0;
> }
Thomas
next prev parent reply other threads:[~2024-09-30 7:49 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-27 0:50 [PATCH V2 0/18] s390x: Add Full Boot Order Support jrossi
2024-09-27 0:51 ` [PATCH 01/18] hw/s390x/ipl: Provide more memory to the s390-ccw.img firmware jrossi
2024-09-27 0:51 ` [PATCH 02/18] pc-bios/s390-ccw: Use the libc from SLOF and remove sclp prints jrossi
2024-09-27 0:51 ` [PATCH 03/18] pc-bios/s390-ccw: Link the netboot code into the main s390-ccw.img binary jrossi
2024-09-27 0:51 ` [PATCH 04/18] hw/s390x: Remove the possibility to load the s390-netboot.img binary jrossi
2024-09-27 0:51 ` [PATCH 05/18] pc-bios/s390-ccw: Merge netboot.mak into the main Makefile jrossi
2024-09-27 0:51 ` [PATCH 06/18] docs/system/s390x/bootdevices: Update the documentation about network booting jrossi
2024-09-27 0:51 ` [PATCH 07/18] pc-bios/s390-ccw: Remove panics from ISO IPL path jrossi
2024-09-27 15:02 ` Thomas Huth
2024-09-27 17:15 ` Jared Rossi
2024-09-30 6:11 ` Thomas Huth
2024-09-30 13:10 ` Jared Rossi
2024-09-27 0:51 ` [PATCH 08/18] pc-bios/s390-ccw: Remove panics from ECKD " jrossi
2024-09-27 15:29 ` Thomas Huth
2024-09-27 17:25 ` Jared Rossi
2024-09-27 0:51 ` [PATCH 09/18] pc-bios/s390-ccw: Remove panics from SCSI " jrossi
2024-09-30 7:48 ` Thomas Huth [this message]
2024-09-30 10:13 ` Thomas Huth
2024-09-27 0:51 ` [PATCH 10/18] pc-bios/s390-ccw: Remove panics from DASD " jrossi
2024-09-30 8:14 ` Thomas Huth
2024-09-27 0:51 ` [PATCH 11/18] pc-bios/s390-ccw: Remove panics from Netboot " jrossi
2024-09-30 9:39 ` Thomas Huth
2024-09-30 13:15 ` Jared Rossi
2024-09-27 0:51 ` [PATCH 12/18] pc-bios/s390-ccw: Enable failed IPL to return after error jrossi
2024-09-30 10:11 ` Thomas Huth
2024-09-30 13:29 ` Jared Rossi
2024-09-27 0:51 ` [PATCH 13/18] include/hw/s390x: Add include files for common IPL structs jrossi
2024-09-30 10:42 ` Thomas Huth
2024-09-30 13:31 ` Jared Rossi
2024-09-27 0:51 ` [PATCH 14/18] s390x: Add individual loadparm assignment to CCW device jrossi
2024-09-30 11:25 ` Thomas Huth
2024-09-27 0:51 ` [PATCH 15/18] hw/s390x: Build an IPLB for each boot device jrossi
2024-09-30 11:59 ` Thomas Huth
2024-09-30 13:39 ` Jared Rossi
2024-09-27 0:51 ` [PATCH 16/18] s390x: Rebuild IPLB for SCSI device directly from DIAG308 jrossi
2024-09-30 12:15 ` Thomas Huth
2024-09-30 13:46 ` Jared Rossi
2024-09-27 0:51 ` [PATCH 17/18] pc-bios/s390x: Enable multi-device boot loop jrossi
2024-09-30 12:32 ` Thomas Huth
2024-09-30 13:48 ` Jared Rossi
2024-09-30 13:08 ` Thomas Huth
2024-09-30 13:52 ` Jared Rossi
2024-09-27 0:51 ` [PATCH 18/18] docs/system: Update documentation for s390x IPL jrossi
2024-09-30 12:34 ` Thomas Huth
2024-09-30 13:14 ` [PATCH V2 0/18] s390x: Add Full Boot Order Support Thomas Huth
2024-09-30 14:20 ` Jared Rossi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f0d95299-48ca-4c23-bf68-dda8e499ad7f@redhat.com \
--to=thuth@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=jrossi@linux.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).