Bug 926947
| Summary: | [virtio-win][viostor]online resizing doesn't work on system virtio-blk disk | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Vadim Rozenfeld <vrozenfe> | ||||||
| Component: | virtio-win | Assignee: | Vadim Rozenfeld <vrozenfe> | ||||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Virtualization Bugs <virt-bugs> | ||||||
| Severity: | medium | Docs Contact: | |||||||
| Priority: | unspecified | ||||||||
| Version: | 6.5 | CC: | acathrow, bcao, bsarathy, juzhang, lijin, lnovich, mdeng, michen, qzhang, rhod, sluo, vvyazmin | ||||||
| Target Milestone: | rc | ||||||||
| Target Release: | --- | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | virtio-win-prewhql-0.1-71 | Doc Type: | Bug Fix | ||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2014-01-01 16:28:51 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: | |||||||||
| Bug Blocks: | 600483, 1003629, 1019461 | ||||||||
| Attachments: |
|
||||||||
|
Description
Vadim Rozenfeld
2013-03-24 11:35:29 UTC
(In reply to comment #0) > Description of problem: > > online resizing doesn't work on system virtio-blk disk > > Version-Release number of selected component (if applicable): > > > How reproducible: > > > Steps to Reproduce: > 1. Start Windows VM with system virtio-blk disk > 2. Go to qemu monitor and do "block_resize" on the system disk. > 3. > > Actual results: > Disk size was not changed. > > Expected results: > Disk should be successfully resized. > > Additional info: Vadim , Which version Driver are you using ? I can not reproduce the issue on virtio-win-1.6.3 on win2k8R2 Actual Resuts: After (qemu)block_resize XXX 45G ,BSOD occurs ,after restart ,the disk extends successfully . Additional info: Does Block_Resize on system image support ? I rember you tell QE block_resize only supported for data images in windows operation systems . (In reply to comment #1) > (In reply to comment #0) > > Description of problem: > > > > online resizing doesn't work on system virtio-blk disk > > > > Version-Release number of selected component (if applicable): > > > > > > How reproducible: > > > > > > Steps to Reproduce: > > 1. Start Windows VM with system virtio-blk disk > > 2. Go to qemu monitor and do "block_resize" on the system disk. > > 3. > > > > Actual results: > > Disk size was not changed. > > > > Expected results: > > Disk should be successfully resized. > > > > Additional info: > > Vadim , > > Which version Driver are you using ? I can not reproduce the issue on > virtio-win-1.6.3 on win2k8R2 > > Actual Resuts: > After (qemu)block_resize XXX 45G ,BSOD occurs ,after restart ,the disk > extends successfully . > > Additional info: > Does Block_Resize on system image support ? I rember you tell QE > block_resize only supported for data images in windows operation systems . I also tried it that BSOD occurs after enlarge the system disk and then it restart automaticly, and i can do 'Extend Volume Wizard' to the system disk correctly. before block_resize: # qemu-img info /home/win7-64.raw image: /home/win7-64.raw file format: raw virtual size: 40G (42949672960 bytes) disk size: 8.6G the system disk can be resize correctly after 'Extend Volume Wizard' in guest, and check it in host: # qemu-img info /home/win7-64.raw image: /home/win7-64.raw file format: raw virtual size: 50G (53687091200 bytes) disk size: 8.6G IIRC, we can do block_resize to system disk, we should remember to 'Shrink/Extend Volume' it in guest before/after block_resize. (In reply to comment #1) > (In reply to comment #0) > > Description of problem: > > > > online resizing doesn't work on system virtio-blk disk > > > > Version-Release number of selected component (if applicable): > > > > > > How reproducible: > > > > > > Steps to Reproduce: > > 1. Start Windows VM with system virtio-blk disk > > 2. Go to qemu monitor and do "block_resize" on the system disk. > > 3. > > > > Actual results: > > Disk size was not changed. > > > > Expected results: > > Disk should be successfully resized. > > > > Additional info: > > Vadim , > > Which version Driver are you using ? I can not reproduce the issue on > virtio-win-1.6.3 on win2k8R2 > > Actual Resuts: > After (qemu)block_resize XXX 45G ,BSOD occurs ,after restart ,the disk > extends successfully . > Hi Mike, Yes, my fault, it BSODing after system disk resizing. > Additional info: > Does Block_Resize on system image support ? I rember you tell QE > block_resize only supported for data images in windows operation systems . Yes, hopefully I managed to make it working on a system disk as well. It should work in the following build. (In reply to comment #2) > (In reply to comment #1) > > (In reply to comment #0) > > > Description of problem: > > > > > > online resizing doesn't work on system virtio-blk disk > > > > > > Version-Release number of selected component (if applicable): > > > > > > > > > How reproducible: > > > > > > > > > Steps to Reproduce: > > > 1. Start Windows VM with system virtio-blk disk > > > 2. Go to qemu monitor and do "block_resize" on the system disk. > > > 3. > > > > > > Actual results: > > > Disk size was not changed. > > > > > > Expected results: > > > Disk should be successfully resized. > > > > > > Additional info: > > > > Vadim , > > > > Which version Driver are you using ? I can not reproduce the issue on > > virtio-win-1.6.3 on win2k8R2 > > > > Actual Resuts: > > After (qemu)block_resize XXX 45G ,BSOD occurs ,after restart ,the disk > > extends successfully . > > > > Additional info: > > Does Block_Resize on system image support ? I rember you tell QE > > block_resize only supported for data images in windows operation systems . > > I also tried it that BSOD occurs after enlarge the system disk and then it > restart automaticly, and i can do 'Extend Volume Wizard' to the system disk > correctly. > before block_resize: > # qemu-img info /home/win7-64.raw > image: /home/win7-64.raw > file format: raw > virtual size: 40G (42949672960 bytes) > disk size: 8.6G > > the system disk can be resize correctly after 'Extend Volume Wizard' in > guest, and check it in host: > # qemu-img info /home/win7-64.raw > image: /home/win7-64.raw > file format: raw > virtual size: 50G (53687091200 bytes) > disk size: 8.6G > > IIRC, we can do block_resize to system disk, we should remember to > 'Shrink/Extend Volume' it in guest before/after block_resize. Not sure if disk size shrinking is supported at qemu level. but you are correct, after disk resizing we need to extend the corresponding volume manually to make the changes visible at the system level. Best regards, Vadim.
> > IIRC, we can do block_resize to system disk, we should remember to
> > 'Shrink/Extend Volume' it in guest before/after block_resize.
> Not sure if disk size shrinking is supported at qemu level. but you are
> correct,
> after disk resizing we need to extend the corresponding volume manually to
> make the changes visible at the system level.
>
it is Supported .
Mike
Should work in build 58 http://download.devel.redhat.com/brewroot/work/tasks/6819/5586819/virtio-win-prewhql-0.1.zip (In reply to comment #6) > Should work in build 58 > http://download.devel.redhat.com/brewroot/work/tasks/6819/5586819/virtio-win- > prewhql-0.1.zip Hi Vadim, Tried build 58 on win8 guest,after resize system disk the guest still got BSOD. 1.boot up guest with the following CLI, /usr/libexec/qemu-kvm -m 2G -smp 2 -cpu cpu64-rhel6,+x2apic,family=0xe -usb -device usb-tablet -drive file=win8-64-case.raw,format=raw,if=none,id=drive-ide0-0-0,werror=stop,rerror=stop,cache=writethrough -device virtio-blk-pci,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -netdev tap,sndbuf=0,id=hostnet0,script=/etc/qemu-ifup,downscript=no -device e1000,netdev=hostnet0,bus=pci.0,addr=0x6 -uuid `uuidgen` -no-kvm-pit-reinjection -chardev socket,id=111a,path=/tmp/monitor-win28R2,server,nowait -mon chardev=111a,mode=readline -drive file=disk1.raw,if=none,id=drive-virtio1,cache=writethrough,werror=stop,rerror=stop,format=raw,serial=blknumber -device virtio-blk-pci,drive=drive-virtio1,id=virtio-blk-pci1 -vnc :2 -rtc base=localtime,clock=host,driftfix=slew -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -M rhel6.4.0 -drive file=/home/en_windows_8_enterprise_x64_dvd_917522.iso,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 -device ide-drive,drive=drive-ide0-1-0,id=ide-drive0,bootindex=2 -drive file=/home/case.iso,format=raw,if=none,media=cdrom,id=drive-ide0-2-0 -device ide-drive,drive=drive-ide0-2-0,id=ide-drive02 -monitor stdio -qmp tcp:0:4444,server,nowait 2.(qemu)block_resize drive-ide0-0-0 67G Actual Resuts: After several seconds,BSOD occurs the disk extends successfully after restart. Expected results, The guest doesn't hit bsod issue. (In reply to comment #7) > (In reply to comment #6) > > Should work in build 58 > > http://download.devel.redhat.com/brewroot/work/tasks/6819/5586819/virtio-win- > > prewhql-0.1.zip > > Hi Vadim, > Tried build 58 on win8 guest,after resize system disk the guest still got > BSOD. > 1.boot up guest with the following CLI, > /usr/libexec/qemu-kvm -m 2G -smp 2 -cpu cpu64-rhel6,+x2apic,family=0xe > -usb -device usb-tablet -drive > file=win8-64-case.raw,format=raw,if=none,id=drive-ide0-0-0,werror=stop, > rerror=stop,cache=writethrough -device > virtio-blk-pci,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -netdev > tap,sndbuf=0,id=hostnet0,script=/etc/qemu-ifup,downscript=no -device > e1000,netdev=hostnet0,bus=pci.0,addr=0x6 -uuid `uuidgen` > -no-kvm-pit-reinjection -chardev > socket,id=111a,path=/tmp/monitor-win28R2,server,nowait -mon > chardev=111a,mode=readline -drive > file=disk1.raw,if=none,id=drive-virtio1,cache=writethrough,werror=stop, > rerror=stop,format=raw,serial=blknumber -device > virtio-blk-pci,drive=drive-virtio1,id=virtio-blk-pci1 -vnc :2 -rtc > base=localtime,clock=host,driftfix=slew -global PIIX4_PM.disable_s3=0 > -global PIIX4_PM.disable_s4=0 -M rhel6.4.0 -drive > file=/home/en_windows_8_enterprise_x64_dvd_917522.iso,format=raw,if=none, > media=cdrom,id=drive-ide0-1-0 -device > ide-drive,drive=drive-ide0-1-0,id=ide-drive0,bootindex=2 -drive > file=/home/case.iso,format=raw,if=none,media=cdrom,id=drive-ide0-2-0 -device > ide-drive,drive=drive-ide0-2-0,id=ide-drive02 -monitor stdio -qmp > tcp:0:4444,server,nowait > 2.(qemu)block_resize drive-ide0-0-0 67G > Actual Resuts: > After several seconds,BSOD occurs the disk extends successfully after > restart. > Expected results, > The guest doesn't hit bsod issue. Furthermore,if block_resize the system disk after restarting guest,the guest froze and it couldn't do system_reset from monitor except for kill the qemu process. Error message - (qemu) block_resize drive-ide0-0-0 67G (qemu) block_resize drive-ide0-0-0 70 (qemu) block I/O error in device 'drive-ide0-0-0': Input/output error (5) (qemu) (qemu) (qemu) (qemu) (qemu) (qemu) (qemu) system_reset (qemu) q (In reply to comment #8) > (In reply to comment #7) > > (In reply to comment #6) > > > Should work in build 58 > > > http://download.devel.redhat.com/brewroot/work/tasks/6819/5586819/virtio-win- > > > prewhql-0.1.zip > > > > Hi Vadim, > > Tried build 58 on win8 guest,after resize system disk the guest still got > > BSOD. > > 1.boot up guest with the following CLI, > > /usr/libexec/qemu-kvm -m 2G -smp 2 -cpu cpu64-rhel6,+x2apic,family=0xe > > -usb -device usb-tablet -drive > > file=win8-64-case.raw,format=raw,if=none,id=drive-ide0-0-0,werror=stop, > > rerror=stop,cache=writethrough -device > > virtio-blk-pci,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -netdev > > tap,sndbuf=0,id=hostnet0,script=/etc/qemu-ifup,downscript=no -device > > e1000,netdev=hostnet0,bus=pci.0,addr=0x6 -uuid `uuidgen` > > -no-kvm-pit-reinjection -chardev > > socket,id=111a,path=/tmp/monitor-win28R2,server,nowait -mon > > chardev=111a,mode=readline -drive > > file=disk1.raw,if=none,id=drive-virtio1,cache=writethrough,werror=stop, > > rerror=stop,format=raw,serial=blknumber -device > > virtio-blk-pci,drive=drive-virtio1,id=virtio-blk-pci1 -vnc :2 -rtc > > base=localtime,clock=host,driftfix=slew -global PIIX4_PM.disable_s3=0 > > -global PIIX4_PM.disable_s4=0 -M rhel6.4.0 -drive > > file=/home/en_windows_8_enterprise_x64_dvd_917522.iso,format=raw,if=none, > > media=cdrom,id=drive-ide0-1-0 -device > > ide-drive,drive=drive-ide0-1-0,id=ide-drive0,bootindex=2 -drive > > file=/home/case.iso,format=raw,if=none,media=cdrom,id=drive-ide0-2-0 -device > > ide-drive,drive=drive-ide0-2-0,id=ide-drive02 -monitor stdio -qmp > > tcp:0:4444,server,nowait > > 2.(qemu)block_resize drive-ide0-0-0 67G > > Actual Resuts: > > After several seconds,BSOD occurs the disk extends successfully after > > restart. > > Expected results, > > The guest doesn't hit bsod issue. > > Furthermore,if block_resize the system disk after restarting guest,the > guest froze and it couldn't do system_reset from monitor except for kill the > qemu process. > Error message - > (qemu) block_resize drive-ide0-0-0 67G > (qemu) block_resize drive-ide0-0-0 70 > (qemu) block I/O error in device 'drive-ide0-0-0': Input/output error (5) > > (qemu) > (qemu) > (qemu) > (qemu) > (qemu) > (qemu) > (qemu) system_reset > (qemu) q Hi Min, Could you please retest it on qcow2 image? Thank you, Vadim. (In reply to comment #9) > (In reply to comment #8) > > (In reply to comment #7) > > > (In reply to comment #6) > > > > Should work in build 58 > > > > http://download.devel.redhat.com/brewroot/work/tasks/6819/5586819/virtio-win- > > > > prewhql-0.1.zip > > > > > > Hi Vadim, > > > Tried build 58 on win8 guest,after resize system disk the guest still got > > > BSOD. > > > 1.boot up guest with the following CLI, > > > /usr/libexec/qemu-kvm -m 2G -smp 2 -cpu cpu64-rhel6,+x2apic,family=0xe > > > -usb -device usb-tablet -drive > > > file=win8-64-case.raw,format=raw,if=none,id=drive-ide0-0-0,werror=stop, > > > rerror=stop,cache=writethrough -device > > > virtio-blk-pci,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -netdev > > > tap,sndbuf=0,id=hostnet0,script=/etc/qemu-ifup,downscript=no -device > > > e1000,netdev=hostnet0,bus=pci.0,addr=0x6 -uuid `uuidgen` > > > -no-kvm-pit-reinjection -chardev > > > socket,id=111a,path=/tmp/monitor-win28R2,server,nowait -mon > > > chardev=111a,mode=readline -drive > > > file=disk1.raw,if=none,id=drive-virtio1,cache=writethrough,werror=stop, > > > rerror=stop,format=raw,serial=blknumber -device > > > virtio-blk-pci,drive=drive-virtio1,id=virtio-blk-pci1 -vnc :2 -rtc > > > base=localtime,clock=host,driftfix=slew -global PIIX4_PM.disable_s3=0 > > > -global PIIX4_PM.disable_s4=0 -M rhel6.4.0 -drive > > > file=/home/en_windows_8_enterprise_x64_dvd_917522.iso,format=raw,if=none, > > > media=cdrom,id=drive-ide0-1-0 -device > > > ide-drive,drive=drive-ide0-1-0,id=ide-drive0,bootindex=2 -drive > > > file=/home/case.iso,format=raw,if=none,media=cdrom,id=drive-ide0-2-0 -device > > > ide-drive,drive=drive-ide0-2-0,id=ide-drive02 -monitor stdio -qmp > > > tcp:0:4444,server,nowait > > > 2.(qemu)block_resize drive-ide0-0-0 67G > > > Actual Resuts: > > > After several seconds,BSOD occurs the disk extends successfully after > > > restart. > > > Expected results, > > > The guest doesn't hit bsod issue. > > > > Furthermore,if block_resize the system disk after restarting guest,the > > guest froze and it couldn't do system_reset from monitor except for kill the > > qemu process. > > Error message - > > (qemu) block_resize drive-ide0-0-0 67G > > (qemu) block_resize drive-ide0-0-0 70 > > (qemu) block I/O error in device 'drive-ide0-0-0': Input/output error (5) > > > > (qemu) > > (qemu) > > (qemu) > > (qemu) > > (qemu) > > (qemu) > > (qemu) system_reset > > (qemu) q > > Hi Min, > Could you please retest it on qcow2 image? > > Thank you, > Vadim. Hi Vadim, Retest the same scenario on qcow2,doesn't hit comment 8 but hit comment 7. Best regards, Min (In reply to comment #10) > Hi Vadim, > > Retest the same scenario on qcow2,doesn't hit comment 8 but hit comment 7. > Best regards, > Min That's interesting. What is the bugcheck code? Can you please upload the crash dump file? Thank you, Vadim. (In reply to comment #11) > (In reply to comment #10) > > Hi Vadim, > > > > Retest the same scenario on qcow2,doesn't hit comment 8 but hit comment 7. > > Best regards, > > Min > > That's interesting. What is the bugcheck code? > Can you please upload the crash dump file? > Thank you, > Vadim Please have a look on attachments.Any issues please let me know. Created attachment 736668 [details]
bsod-log
Created attachment 736669 [details]
DUMP
Reproduced this issue on virtio-win-prewhql-0.1-58 version Verified this issue on virtio-win-prewhql-0.1-59 verion Steps: 1.boot the guest: /usr/libexec/qemu-kvm -drive file=win8-64-blk-resize.qcow2,if=none,cache=none,media=disk,format=qcow2,id=drive1 -device virtio-blk-pci,id=blk1,drive=drive1,bootindex=1 -monitor stdio -vnc :2 -vga cirrus -usb -device usb-tablet,id=tablet1 -boot menu=on -chardev file,path=/root/console.log,id=serial1 -device isa-serial,chardev=serial1,id=s1 -cpu SandyBridge,+sep -M pc -smp 4,maxcpus=4,cores=2,threads=1,sockets=2 -m 4096 -enable-kvm 2.do block_resize Actual Results: both on 58 && 59 build,guest will BSOD after block_resize.And after restart,disk resize success Expected Results: guest works well,block_resize success,no BSOD happened Based on above ,this issue has not been fixed already Thank you. Can you see the same problem on Win7? Best regards, Vadim. (In reply to comment #16) > Thank you. > Can you see the same problem on Win7? > > Best regards, > Vadim. retest this issue on win7-64 and win8-64 guest with build 59 virtio-win,block_resize on system virtio-blk disk will still cause guest BSOD,block_resize the none-system virtio-blk disk is ok. win8-32 hit the same issue with build-65 on rhel7 host,guest bsod with code EF. package version: qemu-kvm-1.5.1-2.el7.x86_64 kernel-3.10.0-0.rc7.64.el7.x86_64 virtio-win-prewhql65 seabios-1.7.2.2-2.el7.x86_64 Steps as comment #0; Windbg info: 0: kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* CRITICAL_PROCESS_DIED (ef) A critical system process died Arguments: Arg1: 844ed040, Process object or thread object Arg2: 00000000, If this is 0, a process died. If this is 1, a thread died. Arg3: 00000000 Arg4: 00000000 Debugging Details: ------------------ PROCESS_OBJECT: 844ed040 IMAGE_NAME: wininit.exe DEBUG_FLR_IMAGE_TIMESTAMP: 50108995 MODULE_NAME: wininit FAULTING_MODULE: 01210000 wininit PROCESS_NAME: wininit.exe EXCEPTION_CODE: (NTSTATUS) 0xc0000006 - The instruction at 0x%p referenced memory at 0x%p. The required data was not placed into memory because of an I/O error status of 0x%x. BUGCHECK_STR: 0xEF_IOERR DEFAULT_BUCKET_ID: WIN8_DRIVER_FAULT CURRENT_IRQL: 0 STACK_TEXT: 93965428 819e059a 000000ef 844ed040 00000000 nt!KeBugCheckEx 9396544c 81a7ec6d 81a2e4c8 844ed040 844ed1b0 nt!PspCatchCriticalBreak+0x80 93965478 8193854d 844ed040 86111d40 c0000006 nt! ?? ::NNGAKEGL::`string'+0x421e8 939654a0 819383f6 86111d40 c0000006 939654e0 nt!PspTerminateProcess+0x4a 939654d0 817892fc ffffffff c0000006 93965974 nt!NtTerminateProcess+0x7d 939654d0 81713dd9 ffffffff c0000006 93965974 nt!KiFastCallEntry+0x12c 93965550 817a610f ffffffff c0000006 0001003f nt!ZwTerminateProcess+0x11 93965974 816cfe3d 93965cb8 00000000 93965d54 nt! ?? ::FNODOBFM::`string'+0x15233 93965d24 8178cfdc 011deb40 011deb60 00000000 nt!KiRaiseException+0x168 93965d40 817892fc 011deb40 011deb60 00000000 nt!NtRaiseException+0x30 93965d40 76a1e858 011deb40 011deb60 00000000 nt!KiFastCallEntry+0x12c 011dee40 74d11d77 011def0c 00000001 c1021849 KERNEL32!BasepReportFault 011deedc 775a11cb 011def0c 774c6cb4 fffffffe KERNELBASE!UnhandledExceptionFilter+0x1e0 011dfd58 774e689d ffffffff 77575ae2 00000000 ntdll!__RtlUserThreadStart+0xba928 011dfd68 00000000 0121cff2 01010670 00000000 ntdll!_RtlUserThreadStart+0x1c STACK_COMMAND: kb FOLLOWUP_NAME: MachineOwner FAILURE_BUCKET_ID: 0xEF_IOERR_IMAGE_wininit.exe BUCKET_ID: 0xEF_IOERR_IMAGE_wininit.exe Followup: MachineOwner --------- Reproduced this issue on virtio-win-prewhql-0.1-59 version Verified this issue on virtio-win-prewhql-0.1-72 verion Steps: 1.boot win7-64 guest withe virtio-blk-pci 2.do block_resize(shrink and enlarge) Actual Results: on build 59,guest BSOD after block_resize.And after restart,disk resize success; on build 72,guest works fine after block_resize the system disk,no BSOD.But if shrink system disk to a very small size,guest will bsod,open a new bug 1017646 to track this issue. Based on above ,this issue has been fixed already Move status to VERIFIED based on comment #23 *** Bug 1003629 has been marked as a duplicate of this bug. *** |