Bug 1967668 - Don't silently truncate (SCSI) disk serial number
Summary: Don't silently truncate (SCSI) disk serial number
Keywords:
Status: NEW
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: qemu-kvm
Version: 9.0
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: rc
: ---
Assignee: Virtualization Maintenance
QA Contact: qing.wang
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-06-03 14:56 UTC by Peter Krempa
Modified: 2023-08-14 06:14 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Peter Krempa 2021-06-03 14:56:50 UTC
Description of problem:

Silent truncation of the serial can lead to a guest ABI regression when the limit is changed such as happened in:

commit 48b6206305b8d56524ac2ee347b68e6e0a528559
Author: Rony Weng <ronyweng>
Date:   Mon Aug 29 15:52:18 2016 +0800

    scsi-disk: change disk serial length from 20 to 36
    
    Openstack Cinder assigns volume a 36 characters uuid as serial.
    QEMU will shrinks the uuid to 20 characters, which does not match
    the original uuid.
    
    Note that there is no limit to the length of the serial number in
    the SCSI spec.  20 was copy-pasted from virtio-blk which in turn was
    copy-pasted from ATA; 36 is even more arbitrary.  However, bumping it
    up too much might cause issues (e.g. 252 seems to make sense because
    then the maximum amount of returned data is 256; but who knows there's
    no off-by-one somewhere for such a nicely rounded number).
    
    Signed-off-by: Rony Weng <ronyweng>
    Message-Id: <1472457138-23386-1-git-send-email-ronyweng>
    Cc: qemu-stable
    Signed-off-by: Paolo Bonzini <pbonzini>

or alternatively when libvirt started using 'device_id' in addition to 'serial' which has a different truncation length.

Rather than silently truncating, qemu should reject values which would lead to truncation (ideally after fixing truncation limits: https://bugzilla.redhat.com/show_bug.cgi?id=1967666 ).

Libvirt will be okay with using an additional property to enable the feature or to allow querying of the truncation limit.

Comment 1 John Ferlan 2021-09-08 21:41:25 UTC
Move RHEL-AV bugs to RHEL9. If necessary to resolve in RHEL8, then clone to the current RHEL8 release.


Note You need to log in before you can comment on or make changes to this bug.