* [Qemu-devel] [PATCH] Report error when opening device with locked tray
@ 2016-06-06 19:40 Colin Lord
2016-06-07 10:28 ` Kevin Wolf
0 siblings, 1 reply; 4+ messages in thread
From: Colin Lord @ 2016-06-06 19:40 UTC (permalink / raw)
To: qemu-devel; +Cc: kwolf, armbru, qemu-block, mreitz, Colin Lord
This commit causes qmp_blockdev_change_medium to report an error if an
attempt is made to open a device with a locked tray.
Signed-off-by: Colin Lord <clord@redhat.com>
This is based off my previous patch regarding the do_open_tray function
(currently at v3). Probably should have been submitted as a patch set
but I wasn't thinking that far ahead when I submitted the first patch.
---
blockdev.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/blockdev.c b/blockdev.c
index 7dd14b9..8a045d9 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -2544,6 +2544,7 @@ void qmp_blockdev_change_medium(const char *device, const char *filename,
BlockBackend *blk;
BlockDriverState *medium_bs = NULL;
int bdrv_flags;
+ int rc;
QDict *options = NULL;
Error *err = NULL;
@@ -2598,11 +2599,13 @@ void qmp_blockdev_change_medium(const char *device, const char *filename,
goto fail;
}
- qmp_blockdev_open_tray(device, false, false, &err);
- if (err) {
+ rc = do_open_tray(device, false, &err);
+ if (rc && rc != -ENOSYS) {
error_propagate(errp, err);
goto fail;
}
+ error_free(err);
+ err = NULL;
qmp_x_blockdev_remove_medium(device, &err);
if (err) {
--
2.5.5
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] Report error when opening device with locked tray
2016-06-06 19:40 [Qemu-devel] [PATCH] Report error when opening device with locked tray Colin Lord
@ 2016-06-07 10:28 ` Kevin Wolf
2016-06-07 20:00 ` [Qemu-devel] [Qemu-block] " John Snow
0 siblings, 1 reply; 4+ messages in thread
From: Kevin Wolf @ 2016-06-07 10:28 UTC (permalink / raw)
To: Colin Lord; +Cc: qemu-devel, armbru, qemu-block, mreitz
Am 06.06.2016 um 21:40 hat Colin Lord geschrieben:
> This commit causes qmp_blockdev_change_medium to report an error if an
> attempt is made to open a device with a locked tray.
The old behaviour is that the command seemingly succeeds, but the medium
isn't actually changed. Correct?
Should this be mentioned in the commit message? You just describe what
you change, but not why.
> Signed-off-by: Colin Lord <clord@redhat.com>
> This is based off my previous patch regarding the do_open_tray function
> (currently at v3). Probably should have been submitted as a patch set
> but I wasn't thinking that far ahead when I submitted the first patch.
> ---
> blockdev.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
Yes, would probably have made sense as a series, but as long as it's
only two patches, it's not really a problem.
Please make sure to put such comments below the "---" line, though, i.e.
comments that make sense for the review, but not as part of the commit
log. Then git-am automatically removes that part from the commit message
while applying the patch. I did it manually for this one now.
Kevin
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [Qemu-block] [PATCH] Report error when opening device with locked tray
2016-06-07 10:28 ` Kevin Wolf
@ 2016-06-07 20:00 ` John Snow
2016-06-08 8:20 ` Kevin Wolf
0 siblings, 1 reply; 4+ messages in thread
From: John Snow @ 2016-06-07 20:00 UTC (permalink / raw)
To: Kevin Wolf, Colin Lord; +Cc: mreitz, qemu-devel, qemu-block, armbru
On 06/07/2016 06:28 AM, Kevin Wolf wrote:
> Am 06.06.2016 um 21:40 hat Colin Lord geschrieben:
>> This commit causes qmp_blockdev_change_medium to report an error if an
>> attempt is made to open a device with a locked tray.
>
> The old behaviour is that the command seemingly succeeds, but the medium
> isn't actually changed. Correct?
>
Close. Old "change" command also fails, but with a confusing error.
> Should this be mentioned in the commit message? You just describe what
> you change, but not why.
>
Old behavior:
- Change uses qmp_blockdev_open_tray, which "succeeds."
- Change then tries to use qmp_x_blockdev_remove_medium, but receives
potentially confusing error "Tray is locked."
- Moments later, the tray is likely now open.
New behavior:
- Change uses do_open_tray, which returns -EINPROGRESS.
- Change can propagate this error upwards without attempting to remove
the medium.
- User gets "Device <foo> is locked and force was not specified, wait
for tray to open and try again" error.
Why: "The new error tries to inform the user that there is an action
pending and that the command, if run again, may succeed."
>> Signed-off-by: Colin Lord <clord@redhat.com>
>> This is based off my previous patch regarding the do_open_tray function
>> (currently at v3). Probably should have been submitted as a patch set
>> but I wasn't thinking that far ahead when I submitted the first patch.
>> ---
>> blockdev.c | 7 +++++--
>> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> Yes, would probably have made sense as a series, but as long as it's
> only two patches, it's not really a problem.
>
> Please make sure to put such comments below the "---" line, though, i.e.
> comments that make sense for the review, but not as part of the commit
> log. Then git-am automatically removes that part from the commit message
> while applying the patch. I did it manually for this one now.
>
> Kevin
>
--
—js
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [Qemu-block] [PATCH] Report error when opening device with locked tray
2016-06-07 20:00 ` [Qemu-devel] [Qemu-block] " John Snow
@ 2016-06-08 8:20 ` Kevin Wolf
0 siblings, 0 replies; 4+ messages in thread
From: Kevin Wolf @ 2016-06-08 8:20 UTC (permalink / raw)
To: John Snow; +Cc: Colin Lord, mreitz, qemu-devel, qemu-block, armbru
Am 07.06.2016 um 22:00 hat John Snow geschrieben:
>
>
> On 06/07/2016 06:28 AM, Kevin Wolf wrote:
> > Am 06.06.2016 um 21:40 hat Colin Lord geschrieben:
> >> This commit causes qmp_blockdev_change_medium to report an error if an
> >> attempt is made to open a device with a locked tray.
> >
> > The old behaviour is that the command seemingly succeeds, but the medium
> > isn't actually changed. Correct?
> >
>
> Close. Old "change" command also fails, but with a confusing error.
>
> > Should this be mentioned in the commit message? You just describe what
> > you change, but not why.
> >
>
> Old behavior:
>
> - Change uses qmp_blockdev_open_tray, which "succeeds."
> - Change then tries to use qmp_x_blockdev_remove_medium, but receives
> potentially confusing error "Tray is locked."
> - Moments later, the tray is likely now open.
Ah, yes, makes sense. This and that we want to have a less confusing
error message is the part that is missing in the commit message.
Kevin
> New behavior:
>
> - Change uses do_open_tray, which returns -EINPROGRESS.
> - Change can propagate this error upwards without attempting to remove
> the medium.
> - User gets "Device <foo> is locked and force was not specified, wait
> for tray to open and try again" error.
>
> Why: "The new error tries to inform the user that there is an action
> pending and that the command, if run again, may succeed."
>
> >> Signed-off-by: Colin Lord <clord@redhat.com>
> >> This is based off my previous patch regarding the do_open_tray function
> >> (currently at v3). Probably should have been submitted as a patch set
> >> but I wasn't thinking that far ahead when I submitted the first patch.
> >> ---
> >> blockdev.c | 7 +++++--
> >> 1 file changed, 5 insertions(+), 2 deletions(-)
> >
> > Yes, would probably have made sense as a series, but as long as it's
> > only two patches, it's not really a problem.
> >
> > Please make sure to put such comments below the "---" line, though, i.e.
> > comments that make sense for the review, but not as part of the commit
> > log. Then git-am automatically removes that part from the commit message
> > while applying the patch. I did it manually for this one now.
> >
> > Kevin
> >
>
> --
> —js
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-06-08 8:20 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-06 19:40 [Qemu-devel] [PATCH] Report error when opening device with locked tray Colin Lord
2016-06-07 10:28 ` Kevin Wolf
2016-06-07 20:00 ` [Qemu-devel] [Qemu-block] " John Snow
2016-06-08 8:20 ` Kevin Wolf
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).