[PATCH] scsi: allow user to set werror as report

Zihao Chang posted 1 patch 3 years, 6 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20201103061240.1364-1-changzihao1@huawei.com
Maintainers: Fam Zheng <fam@euphon.net>, Paolo Bonzini <pbonzini@redhat.com>
hw/scsi/scsi-generic.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH] scsi: allow user to set werror as report
Posted by Zihao Chang 3 years, 6 months ago
'enospc' is the default for -drive, but qemu allows user to set
drive option werror. If werror of scsi-generic is set to 'report'
by user, qemu will not allow vm to start.

This patch allow user to set werror as 'report' for scsi-generic.

Signed-off-by: Zihao Chang <changzihao1@huawei.com>
---
 hw/scsi/scsi-generic.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/scsi/scsi-generic.c b/hw/scsi/scsi-generic.c
index 2cb23ca891..2730e37d63 100644
--- a/hw/scsi/scsi-generic.c
+++ b/hw/scsi/scsi-generic.c
@@ -664,7 +664,8 @@ static void scsi_generic_realize(SCSIDevice *s, Error **errp)
         return;
     }
 
-    if (blk_get_on_error(s->conf.blk, 0) != BLOCKDEV_ON_ERROR_ENOSPC) {
+    if (blk_get_on_error(s->conf.blk, 0) != BLOCKDEV_ON_ERROR_ENOSPC &&
+        blk_get_on_error(s->conf.blk, 0) != BLOCKDEV_ON_ERROR_REPORT) {
         error_setg(errp, "Device doesn't support drive option werror");
         return;
     }
-- 
2.28.0


Re: [PATCH] scsi: allow user to set werror as report
Posted by Fam Zheng 3 years, 6 months ago
On Tue, 2020-11-03 at 14:12 +0800, Zihao Chang wrote:
> 'enospc' is the default for -drive, but qemu allows user to set
> drive option werror. If werror of scsi-generic is set to 'report'
> by user, qemu will not allow vm to start.
> 
> This patch allow user to set werror as 'report' for scsi-generic.
> 
> Signed-off-by: Zihao Chang <changzihao1@huawei.com>
> ---
>  hw/scsi/scsi-generic.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/scsi/scsi-generic.c b/hw/scsi/scsi-generic.c
> index 2cb23ca891..2730e37d63 100644
> --- a/hw/scsi/scsi-generic.c
> +++ b/hw/scsi/scsi-generic.c
> @@ -664,7 +664,8 @@ static void scsi_generic_realize(SCSIDevice *s,
> Error **errp)
>          return;
>      }
>  
> -    if (blk_get_on_error(s->conf.blk, 0) !=
> BLOCKDEV_ON_ERROR_ENOSPC) {
> +    if (blk_get_on_error(s->conf.blk, 0) != BLOCKDEV_ON_ERROR_ENOSPC
> &&
> +        blk_get_on_error(s->conf.blk, 0) !=
> BLOCKDEV_ON_ERROR_REPORT) {
>          error_setg(errp, "Device doesn't support drive option
> werror");
>          return;
>      }

Accepting the report sounds sane to me, it matches what we actually
(always) do. Is the idea to allow users to spell it out explicitly in
the command line?

Reviewed-by: Fam Zheng <fam@euphon.net>


Re: [PATCH] scsi: allow user to set werror as report
Posted by Zihao Chang 3 years, 6 months ago

On 2020/11/3 18:52, Fam Zheng wrote:
> On Tue, 2020-11-03 at 14:12 +0800, Zihao Chang wrote:
>> 'enospc' is the default for -drive, but qemu allows user to set
>> drive option werror. If werror of scsi-generic is set to 'report'
>> by user, qemu will not allow vm to start.
>>
>> This patch allow user to set werror as 'report' for scsi-generic.
>>
>> Signed-off-by: Zihao Chang <changzihao1@huawei.com>
>> ---
>>  hw/scsi/scsi-generic.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/scsi/scsi-generic.c b/hw/scsi/scsi-generic.c
>> index 2cb23ca891..2730e37d63 100644
>> --- a/hw/scsi/scsi-generic.c
>> +++ b/hw/scsi/scsi-generic.c
>> @@ -664,7 +664,8 @@ static void scsi_generic_realize(SCSIDevice *s,
>> Error **errp)
>>          return;
>>      }
>>  
>> -    if (blk_get_on_error(s->conf.blk, 0) !=
>> BLOCKDEV_ON_ERROR_ENOSPC) {
>> +    if (blk_get_on_error(s->conf.blk, 0) != BLOCKDEV_ON_ERROR_ENOSPC
>> &&
>> +        blk_get_on_error(s->conf.blk, 0) !=
>> BLOCKDEV_ON_ERROR_REPORT) {
>>          error_setg(errp, "Device doesn't support drive option
>> werror");
>>          return;
>>      }
> 
> Accepting the report sounds sane to me, it matches what we actually
> (always) do. Is the idea to allow users to spell it out explicitly in
> the command line?
> 
Actually, qemu supports user to spell it out explicitly in the command
line like "enospc", "report" & "action". This patch just allows user to
set werror as "report" for scsi-generic, which is a common scenario.

> Reviewed-by: Fam Zheng <fam@euphon.net>
> 
> .
> 

Re: [PATCH] scsi: allow user to set werror as report
Posted by Zihao Chang 3 years, 5 months ago
Ping? This is a fix patch which has been reviewed, whose tree should it go via?

Thanks
Zihao

On 2020/11/3 22:03, Zihao Chang wrote:
> 
> 
> On 2020/11/3 18:52, Fam Zheng wrote:
>> On Tue, 2020-11-03 at 14:12 +0800, Zihao Chang wrote:
>>> 'enospc' is the default for -drive, but qemu allows user to set
>>> drive option werror. If werror of scsi-generic is set to 'report'
>>> by user, qemu will not allow vm to start.
>>>
>>> This patch allow user to set werror as 'report' for scsi-generic.
>>>
>>> Signed-off-by: Zihao Chang <changzihao1@huawei.com>
>>> ---
>>>  hw/scsi/scsi-generic.c | 3 ++-
>>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/hw/scsi/scsi-generic.c b/hw/scsi/scsi-generic.c
>>> index 2cb23ca891..2730e37d63 100644
>>> --- a/hw/scsi/scsi-generic.c
>>> +++ b/hw/scsi/scsi-generic.c
>>> @@ -664,7 +664,8 @@ static void scsi_generic_realize(SCSIDevice *s,
>>> Error **errp)
>>>          return;
>>>      }
>>>  
>>> -    if (blk_get_on_error(s->conf.blk, 0) !=
>>> BLOCKDEV_ON_ERROR_ENOSPC) {
>>> +    if (blk_get_on_error(s->conf.blk, 0) != BLOCKDEV_ON_ERROR_ENOSPC
>>> &&
>>> +        blk_get_on_error(s->conf.blk, 0) !=
>>> BLOCKDEV_ON_ERROR_REPORT) {
>>>          error_setg(errp, "Device doesn't support drive option
>>> werror");
>>>          return;
>>>      }
>>
>> Accepting the report sounds sane to me, it matches what we actually
>> (always) do. Is the idea to allow users to spell it out explicitly in
>> the command line?
>>
> Actually, qemu supports user to spell it out explicitly in the command
> line like "enospc", "report" & "action". This patch just allows user to
> set werror as "report" for scsi-generic, which is a common scenario.
> 
>> Reviewed-by: Fam Zheng <fam@euphon.net>
>>
>> .
>>

Re: [PATCH] scsi: allow user to set werror as report
Posted by Philippe Mathieu-Daudé 3 years, 5 months ago
On 12/3/20 3:55 AM, Zihao Chang wrote:
> Ping? This is a fix patch which has been reviewed, whose tree should it go via?

The change itself is in-between 'Block layer' and 'SCSI'
subsystems, so either Paolo or Kevin (Cc'ing qemu-block@).

> 
> Thanks
> Zihao
> 
> On 2020/11/3 22:03, Zihao Chang wrote:
>>
>>
>> On 2020/11/3 18:52, Fam Zheng wrote:
>>> On Tue, 2020-11-03 at 14:12 +0800, Zihao Chang wrote:
>>>> 'enospc' is the default for -drive, but qemu allows user to set
>>>> drive option werror. If werror of scsi-generic is set to 'report'
>>>> by user, qemu will not allow vm to start.
>>>>
>>>> This patch allow user to set werror as 'report' for scsi-generic.
>>>>
>>>> Signed-off-by: Zihao Chang <changzihao1@huawei.com>
>>>> ---
>>>>  hw/scsi/scsi-generic.c | 3 ++-
>>>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/hw/scsi/scsi-generic.c b/hw/scsi/scsi-generic.c
>>>> index 2cb23ca891..2730e37d63 100644
>>>> --- a/hw/scsi/scsi-generic.c
>>>> +++ b/hw/scsi/scsi-generic.c
>>>> @@ -664,7 +664,8 @@ static void scsi_generic_realize(SCSIDevice *s,
>>>> Error **errp)
>>>>          return;
>>>>      }
>>>>  
>>>> -    if (blk_get_on_error(s->conf.blk, 0) !=
>>>> BLOCKDEV_ON_ERROR_ENOSPC) {
>>>> +    if (blk_get_on_error(s->conf.blk, 0) != BLOCKDEV_ON_ERROR_ENOSPC
>>>> &&
>>>> +        blk_get_on_error(s->conf.blk, 0) !=
>>>> BLOCKDEV_ON_ERROR_REPORT) {
>>>>          error_setg(errp, "Device doesn't support drive option
>>>> werror");
>>>>          return;
>>>>      }
>>>
>>> Accepting the report sounds sane to me, it matches what we actually
>>> (always) do. Is the idea to allow users to spell it out explicitly in
>>> the command line?
>>>
>> Actually, qemu supports user to spell it out explicitly in the command
>> line like "enospc", "report" & "action". This patch just allows user to
>> set werror as "report" for scsi-generic, which is a common scenario.
>>
>>> Reviewed-by: Fam Zheng <fam@euphon.net>
>>>
>>> .
>>>
> 


Re: [PATCH] scsi: allow user to set werror as report
Posted by Zihao Chang 3 years, 3 months ago
Ping again? Another month has passed, whose tree should it go via?
Or did I miss any response?

Thanks
Zihao

On 2020/12/3 17:53, Philippe Mathieu-Daudé wrote:
> On 12/3/20 3:55 AM, Zihao Chang wrote:
>> Ping? This is a fix patch which has been reviewed, whose tree should it go via?
> 
> The change itself is in-between 'Block layer' and 'SCSI'
> subsystems, so either Paolo or Kevin (Cc'ing qemu-block@).
> 
>>
>> Thanks
>> Zihao
>>
>> On 2020/11/3 22:03, Zihao Chang wrote:
>>>
>>>
>>> On 2020/11/3 18:52, Fam Zheng wrote:
>>>> On Tue, 2020-11-03 at 14:12 +0800, Zihao Chang wrote:
>>>>> 'enospc' is the default for -drive, but qemu allows user to set
>>>>> drive option werror. If werror of scsi-generic is set to 'report'
>>>>> by user, qemu will not allow vm to start.
>>>>>
>>>>> This patch allow user to set werror as 'report' for scsi-generic.
>>>>>
>>>>> Signed-off-by: Zihao Chang <changzihao1@huawei.com>
>>>>> ---
>>>>>  hw/scsi/scsi-generic.c | 3 ++-
>>>>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/hw/scsi/scsi-generic.c b/hw/scsi/scsi-generic.c
>>>>> index 2cb23ca891..2730e37d63 100644
>>>>> --- a/hw/scsi/scsi-generic.c
>>>>> +++ b/hw/scsi/scsi-generic.c
>>>>> @@ -664,7 +664,8 @@ static void scsi_generic_realize(SCSIDevice *s,
>>>>> Error **errp)
>>>>>          return;
>>>>>      }
>>>>>  
>>>>> -    if (blk_get_on_error(s->conf.blk, 0) !=
>>>>> BLOCKDEV_ON_ERROR_ENOSPC) {
>>>>> +    if (blk_get_on_error(s->conf.blk, 0) != BLOCKDEV_ON_ERROR_ENOSPC
>>>>> &&
>>>>> +        blk_get_on_error(s->conf.blk, 0) !=
>>>>> BLOCKDEV_ON_ERROR_REPORT) {
>>>>>          error_setg(errp, "Device doesn't support drive option
>>>>> werror");
>>>>>          return;
>>>>>      }
>>>>
>>>> Accepting the report sounds sane to me, it matches what we actually
>>>> (always) do. Is the idea to allow users to spell it out explicitly in
>>>> the command line?
>>>>
>>> Actually, qemu supports user to spell it out explicitly in the command
>>> line like "enospc", "report" & "action". This patch just allows user to
>>> set werror as "report" for scsi-generic, which is a common scenario.
>>>
>>>> Reviewed-by: Fam Zheng <fam@euphon.net>
>>>>
>>>> .
>>>>
>>
> 
> .
> 

Re: [PATCH] scsi: allow user to set werror as report
Posted by Paolo Bonzini 3 years, 3 months ago
On 03/12/20 03:55, Zihao Chang wrote:
> Ping? This is a fix patch which has been reviewed, whose tree should it go via?
> 
> Thanks
> Zihao
> 
> On 2020/11/3 22:03, Zihao Chang wrote:
>>
>>
>> On 2020/11/3 18:52, Fam Zheng wrote:
>>> On Tue, 2020-11-03 at 14:12 +0800, Zihao Chang wrote:
>>>> 'enospc' is the default for -drive, but qemu allows user to set
>>>> drive option werror. If werror of scsi-generic is set to 'report'
>>>> by user, qemu will not allow vm to start.
>>>>
>>>> This patch allow user to set werror as 'report' for scsi-generic.
>>>>
>>>> Signed-off-by: Zihao Chang <changzihao1@huawei.com>
>>>> ---
>>>>   hw/scsi/scsi-generic.c | 3 ++-
>>>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/hw/scsi/scsi-generic.c b/hw/scsi/scsi-generic.c
>>>> index 2cb23ca891..2730e37d63 100644
>>>> --- a/hw/scsi/scsi-generic.c
>>>> +++ b/hw/scsi/scsi-generic.c
>>>> @@ -664,7 +664,8 @@ static void scsi_generic_realize(SCSIDevice *s,
>>>> Error **errp)
>>>>           return;
>>>>       }
>>>>   
>>>> -    if (blk_get_on_error(s->conf.blk, 0) !=
>>>> BLOCKDEV_ON_ERROR_ENOSPC) {
>>>> +    if (blk_get_on_error(s->conf.blk, 0) != BLOCKDEV_ON_ERROR_ENOSPC
>>>> &&
>>>> +        blk_get_on_error(s->conf.blk, 0) !=
>>>> BLOCKDEV_ON_ERROR_REPORT) {
>>>>           error_setg(errp, "Device doesn't support drive option
>>>> werror");
>>>>           return;
>>>>       }
>>>
>>> Accepting the report sounds sane to me, it matches what we actually
>>> (always) do. Is the idea to allow users to spell it out explicitly in
>>> the command line?
>>>
>> Actually, qemu supports user to spell it out explicitly in the command
>> line like "enospc", "report" & "action". This patch just allows user to
>> set werror as "report" for scsi-generic, which is a common scenario.
>>
>>> Reviewed-by: Fam Zheng <fam@euphon.net>
>>>
>>> .
>>>
> 

Queued, thanks.

Paolo