[libvirt] [PATCH v2 0/2] Fix errors in valid range of scsi unit

v1: https://www.redhat.com/archives/libvir-list/2019-November/msg01451.html Han Han (2): conf: fix logic error for scsi units rng: Extend the valid range of drive unit docs/schemas/domaincommon.rng | 2 +- src/conf/domain_conf.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -- 2.24.0.rc1

Introduced in c8007fdc5d2, it should use 'greater than max' instread of 'equal or greater than max' for the condition of checking invalid scsi unit. Signed-off-by: Han Han <hhan@redhat.com> --- src/conf/domain_conf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 9580884747..badc2da487 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -4850,7 +4850,7 @@ virDomainSCSIDriveAddressIsUsed(const virDomainDef *def, break; } - if (max != -1 && addr->unit >= max) + if (max != -1 && addr->unit > max) return true; if (reserved != -1 && addr->unit == reserved) return true; -- 2.24.0.rc1

On 12/2/19 5:41 AM, Han Han wrote:
Introduced in c8007fdc5d2, it should use 'greater than max' instread of
s/instread/instead
'equal or greater than max' for the condition of checking invalid scsi unit.
Signed-off-by: Han Han <hhan@redhat.com> ---
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>

With the commit message spelling corrected Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com> On 12/2/19 9:41 AM, Han Han wrote:
Introduced in c8007fdc5d2, it should use 'greater than max' instread of 'equal or greater than max' for the condition of checking invalid scsi unit.
Signed-off-by: Han Han <hhan@redhat.com> --- src/conf/domain_conf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 9580884747..badc2da487 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -4850,7 +4850,7 @@ virDomainSCSIDriveAddressIsUsed(const virDomainDef *def, break; }
- if (max != -1 && addr->unit >= max) + if (max != -1 && addr->unit > max) return true; if (reserved != -1 && addr->unit == reserved) return true;
-- Mit freundlichen Grüßen/Kind regards Boris Fiuczynski IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Matthias Hartmann Geschäftsführung: Dirk Wittkopp Sitz der Gesellschaft: Böblingen Registergericht: Amtsgericht Stuttgart, HRB 243294

In the last commit, we allowed unit number of virtio scsi disk to use range 0..16383. Extend the range in rng file to match that. Signed-off-by: Han Han <hhan@redhat.com> --- docs/schemas/domaincommon.rng | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index a83c9ae7a5..17efcfdcb0 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -6460,7 +6460,7 @@ </define> <define name="driveUnit"> <data type="string"> - <param name="pattern">[0-9]{1,2}</param> + <param name="pattern">[0-9]{1,5}</param> </data> </define> <define name="driveSCSIUnit"> -- 2.24.0.rc1

On 12/2/19 5:41 AM, Han Han wrote:
In the last commit, we allowed unit number of virtio scsi disk to use range 0..16383. Extend the range in rng file to match that.
Signed-off-by: Han Han <hhan@redhat.com> ---
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>

On 12/2/19 9:41 AM, Han Han wrote:
In the last commit, we allowed unit number of virtio scsi disk to use range 0..16383. Extend the range in rng file to match that.
Signed-off-by: Han Han <hhan@redhat.com> --- docs/schemas/domaincommon.rng | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index a83c9ae7a5..17efcfdcb0 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -6460,7 +6460,7 @@ </define> <define name="driveUnit"> <data type="string"> - <param name="pattern">[0-9]{1,2}</param> + <param name="pattern">[0-9]{1,5}</param> Let me repeat my remark on v1 on v2 as well: This changes also virtio-serial (port attribute is 2-digit) and ccid addresses (slot attribute is 2-digit). So you need a separate definition of the pattern for drive address.
</data> </define> <define name="driveSCSIUnit">
-- Mit freundlichen Grüßen/Kind regards Boris Fiuczynski IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Matthias Hartmann Geschäftsführung: Dirk Wittkopp Sitz der Gesellschaft: Böblingen Registergericht: Amtsgericht Stuttgart, HRB 243294

On Tue, Dec 3, 2019 at 1:40 AM Boris Fiuczynski <fiuczy@linux.ibm.com> wrote:
On 12/2/19 9:41 AM, Han Han wrote:
In the last commit, we allowed unit number of virtio scsi disk to use range 0..16383. Extend the range in rng file to match that.
Signed-off-by: Han Han <hhan@redhat.com> --- docs/schemas/domaincommon.rng | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index a83c9ae7a5..17efcfdcb0 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -6460,7 +6460,7 @@ </define> <define name="driveUnit"> <data type="string"> - <param name="pattern">[0-9]{1,2}</param> + <param name="pattern">[0-9]{1,5}</param> Let me repeat my remark on v1 on v2 as well: This changes also virtio-serial (port attribute is 2-digit) and ccid addresses (slot attribute is 2-digit). So you need a separate definition of the pattern for drive address.
Thank you for pointing it out. I will update it in next version
</data> </define> <define name="driveSCSIUnit">
-- Mit freundlichen Grüßen/Kind regards Boris Fiuczynski
IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Matthias Hartmann Geschäftsführung: Dirk Wittkopp Sitz der Gesellschaft: Böblingen Registergericht: Amtsgericht Stuttgart, HRB 243294
-- Best regards, ----------------------------------- Han Han Quality Engineer Redhat. Email: hhan@redhat.com Phone: +861065339333
participants (3)
-
Boris Fiuczynski
-
Daniel Henrique Barboza
-
Han Han