Bug 1714891
| Summary: | Guest with persistent reservation manager for a disk fails to start | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux Advanced Virtualization | Reporter: | Xueqiang Wei <xuwei> | |
| Component: | qemu-kvm | Assignee: | Markus Armbruster <armbru> | |
| Status: | CLOSED ERRATA | QA Contact: | Xueqiang Wei <xuwei> | |
| Severity: | unspecified | Docs Contact: | ||
| Priority: | high | |||
| Version: | 8.1 | CC: | armbru, coli, ddepaula, dyuan, jinzhao, juzhang, knoel, lmen, ngu, pbonzini, qzhang, virt-maint, yanqzhan, yisun | |
| Target Milestone: | rc | Keywords: | Regression | |
| Target Release: | 8.1 | Flags: | knoel:
mirror+
|
|
| Hardware: | x86_64 | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | qemu-kvm-4.0.0-4.module+el8.1.0+3356+cda7f1ee | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | 1714160 | |||
| : | 1720047 (view as bug list) | Environment: | ||
| Last Closed: | 2019-11-06 07:15:20 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | 1714160 | |||
| Bug Blocks: | ||||
|
Comment 1
Xueqiang Wei
2019-05-29 06:23:10 UTC
Simplified reproducer: $ qemu-kvm -object pr-manager-helper,id=pr-helper0,path=/tmp/pr-helper0.sock-drive -drive file=/dev/mapper/crypt,file.pr-manager=pr-helper0,format=raw,if=none Fails with "No persistent reservation manager with id 'pr-helper0". Fixed upstream in commit 9ea18ed25a36527167e9676f25d983df5e7f76e6. Fix included in qemu-kvm-4.0.0-4.module+el8.1.0+3356+cda7f1ee tested with qemu-kvm-4.0.0-4.module+el8.1.0+3356+cda7f1ee, not hit this issue. So set status to VERIFIED.
Versions:
kernel-4.18.0-100.el8.x86_64
qemu-kvm-4.0.0-4.module+el8.1.0+3356+cda7f1ee
1. start service
# systemctl start qemu-pr-helper
# systemctl status qemu-pr-helper
● qemu-pr-helper.service - Persistent Reservation Daemon for QEMU
Loaded: loaded (/usr/lib/systemd/system/qemu-pr-helper.service; static; vend>
Active: active (running) since Wed 2019-06-12 22:22:15 EDT; 3s ago
Main PID: 31032 (qemu-pr-helper)
Tasks: 2 (limit: 26213)
Memory: 1.7M
CGroup: /system.slice/qemu-pr-helper.service
└─31032 /usr/bin/qemu-pr-helper
2. boot guest with below cmd lines
/usr/libexec/qemu-kvm \
-S \
-name 'avocado-vt-vm1' \
-sandbox off \
-machine q35 \
-nodefaults \
-device VGA,bus=pcie.0,addr=0x1 \
-device pcie-root-port,id=pcie_root_port_0,slot=2,chassis=2,addr=0x2,bus=pcie.0 \
-device pcie-root-port,id=pcie_root_port_1,slot=3,chassis=3,addr=0x3,bus=pcie.0 \
-device pcie-root-port,id=pcie_root_port_2,slot=4,chassis=4,addr=0x4,bus=pcie.0 \
-chardev socket,id=qmp_id_qmpmonitor1,path=/var/tmp/avocado_w2u90exl/monitor-qmpmonitor1-20181127-024837-wdAVx2FL,server,nowait \
-mon chardev=qmp_id_qmpmonitor1,mode=control \
-chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/avocado_w2u90exl/monitor-catch_monitor-20181127-024837-wdAVx2FL,server,nowait \
-mon chardev=qmp_id_catch_monitor,mode=control \
-device pvpanic,ioport=0x505,id=idulvcka \
-chardev socket,id=serial_id_serial0,path=/var/tmp/avocado_w2u90exl/serial-serial0-20181127-024837-wdAVx2FL,server,nowait \
-device isa-serial,chardev=serial_id_serial0 \
-chardev socket,id=seabioslog_id_20181127-024837-wdAVx2FL,path=/var/tmp/avocado_w2u90exl/seabios-20181127-024837-wdAVx2FL,server,nowait \
-device isa-debugcon,chardev=seabioslog_id_20181127-024837-wdAVx2FL,iobase=0x402 \
-device pcie-root-port,id=pcie.0-root-port-5,slot=5,chassis=5,addr=0x5,bus=pcie.0 \
-device qemu-xhci,id=usb1,bus=pcie.0-root-port-5,addr=0x0 \
-object iothread,id=iothread0 \
-device pcie-root-port,id=pcie.0-root-port-6,slot=6,chassis=6,addr=0x6,bus=pcie.0 \
-device virtio-scsi-pci,iothread=iothread0,id=virtio_scsi_pci0,bus=pcie.0-root-port-6,addr=0x0 \
-blockdev driver=file,cache.direct=on,cache.no-flush=off,filename=/home/kvm_autotest_root/images/rhel810-64-virtio-scsi.qcow2,node-name=my_file \
-blockdev driver=qcow2,node-name=my,file=my_file,cache.direct=on,cache.no-flush=off \
-device scsi-hd,drive=my,bus=virtio_scsi_pci0.0,write-cache=on \
-device pcie-root-port,id=pcie.0-root-port-7,slot=7,chassis=7,addr=0x7,bus=pcie.0 \
-device virtio-net-pci,mac=9a:34:35:36:37:38,id=idyb3F88,vectors=4,netdev=idTAFS0s,bus=pcie.0-root-port-7,addr=0x0 \
-netdev tap,id=idTAFS0s,vhost=on \
-m 4G \
-smp 12,maxcpus=12,cores=6,threads=1,sockets=2 \
-cpu 'Opteron_G5',+kvm_pv_unhalt \
-device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \
-vnc :0 \
-rtc base=localtime,clock=host,driftfix=slew \
-boot order=cdn,once=c,menu=off,strict=off \
-enable-kvm \
-monitor stdio \
-qmp tcp:0:4444,server,nowait \
-device pcie-root-port,id=pcie.0-root-port-9,slot=9,chassis=9,addr=0x9,bus=pcie.0 \
-object pr-manager-helper,id=helper0,path=/var/run/qemu-pr-helper.sock \
-device virtio-scsi-pci,id=virtio_scsi_pci1,bus=pcie.0-root-port-9,addr=0x0 \
-blockdev driver=host_device,cache.direct=off,cache.no-flush=on,filename=/dev/mapper/mpatha,node-name=host_disk4,pr-manager=helper0 \
-blockdev driver=raw,node-name=disk_4,file=host_disk4 \
-device scsi-block,drive=disk_4,bus=virtio_scsi_pci1.0,id=host_disk4 \
3. test persistent reservation in guest.
cat test-persistent.sh
#! /bin/sh
sg_persist --no-inquiry -v --out --register-ignore --param-sark 123aaa "$@"
sg_persist --no-inquiry --in -k "$@"
sg_persist --no-inquiry -v --out --reserve --param-rk 123aaa --prout-type 5 "$@"
sg_persist --no-inquiry --in -r "$@"
sg_persist --no-inquiry -v --out --release --param-rk 123aaa --prout-type 5 "$@"
sg_persist --no-inquiry --in -r "$@"
sg_persist --no-inquiry -v --out --register --param-rk 123aaa --prout-type 5 "$@"
sg_persist --no-inquiry --in -k "$@"
# sh test-persisten.sh /dev/sdb
after step 2, guest boot up normally.
after step 3, core dumped, persistent reservation doesn't work. report a new bug track the new issue.
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-2019:3723 |