Bug 1549654 - Reject node-names which would be truncated by the block layer commands
Summary: Reject node-names which would be truncated by the block layer commands
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev
Version: 7.3
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Kevin Wolf
QA Contact: CongLi
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-02-27 15:15 UTC by Peter Krempa
Modified: 2018-11-01 11:06 UTC (History)
12 users (show)

Fixed In Version: qemu-kvm-rhev-2.12.0-8.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-11-01 11:04:15 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:3443 None None None 2018-11-01 11:06:44 UTC

Description Peter Krempa 2018-02-27 15:15:56 UTC
Description of problem:
The node-name is stored in a static 32 byte array, thus all node-names provided to commands which create BDSes are silently truncated to 31 characters.

The limitation does not seem to be documented besides 

Version-Release number of selected component (if applicable):
current upstream

How reproducible:
100%

Steps to Reproduce:
1. use blockdev-add to create a BDS with "node-name": "migration-drive-virtio-disk1-storage"
2. call query-named-block-nodes

Actual results:
Node name is reported as "node-name": "migration-drive-virtio-disk1-st"

Expected results:
blockdev commands fail if the node name would be truncated, the limit is documented in the schema


Additional info:
making it unlimited is another option, but rather useless for libvirt, since it will need to stick to the limit

Comment 2 Miroslav Rezanina 2018-07-24 14:15:37 UTC
Fix included in qemu-kvm-rhev-2.12.0-8.el7

Comment 4 CongLi 2018-07-27 09:20:36 UTC
Tested on qemu-kvm-rhev-2.12.0-8.el7.x86_64:

{"execute": "blockdev-add","arguments": {"node-name": "migration-drive-virtio-disk1-storage","driver": "raw", "file":    {"driver":"file", "filename": "/root/test.raw"}}}
{"error": {"class": "GenericError", "desc": "Node name too long"}}


Hi Kevin,

QE did not find where the node name character limit is documented except in iotests, is there any place I missing ?
Else, QE think it's better to document the character limit or we could print the info in the error.

Thanks.

Comment 5 Kevin Wolf 2018-08-06 12:39:58 UTC
Though not directly related to the bug, this is a valid criticism for upstream. I sent a patch upstream, but I don't think we'll backport it for 7.6 (especially since only libvirt is supported as an external interface). Instead, we'll get the documentation improvement with the next rebase.

Does this sound good to you?

Comment 6 CongLi 2018-08-07 02:31:42 UTC
(In reply to Kevin Wolf from comment #5)
> Though not directly related to the bug, this is a valid criticism for
> upstream. I sent a patch upstream, but I don't think we'll backport it for
> 7.6 (especially since only libvirt is supported as an external interface).
> Instead, we'll get the documentation improvement with the next rebase.
> 
> Does this sound good to you?

Thanks Kevin, that sounds good to me.

Based on comment 4 and comment 5, set this bug to 'VERIFIED'.

Comment 7 errata-xmlrpc 2018-11-01 11:04:15 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:3443


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