RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 693741 - qemu-img re-base fail with read-only new backing file
Summary: qemu-img re-base fail with read-only new backing file
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm
Version: 6.1
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: rc
: ---
Assignee: Kevin Wolf
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks: 693283
TreeView+ depends on / blocked
 
Reported: 2011-04-05 13:36 UTC by Igor Lvovsky
Modified: 2013-03-01 04:53 UTC (History)
8 users (show)

Fixed In Version: qemu-kvm-0.12.1.2-2.157.el6
Doc Type: Bug Fix
Doc Text:
Cause: qemu-img tries to open backing file read-write. Consequence: qemu-img rebase fail new backing file is read-only. Fix: qemu-img rebase open new backing file as read-only. Result: 'qemu-img rebase' works even if new backing file is read-only.
Clone Of:
Environment:
Last Closed: 2011-05-19 11:21:24 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2011:0534 0 normal SHIPPED_LIVE Important: qemu-kvm security, bug fix, and enhancement update 2011-05-19 11:20:36 UTC

Description Igor Lvovsky 2011-04-05 13:36:33 UTC
Description of problem:
qemu-img rebase fail on NFS setup (work fine on block devices)

For given chain:
   baseVol --> sn1 --> sn2
'baseVol' is  readonly
'sn1' and 'sn2' are readwrite

Now, I run a command:
    qemu-img rebase  -f qcow2 -b baseVol -F qcow2 sn2
    
qemu-img try to open 'baseVol' with O_RDWR and fail.

Actually, this bug was solved already in qemu-img-112 but introduced again in 134

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


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 RHEL Program Management 2011-04-05 13:43:22 UTC
Since RHEL 6.1 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.

Red Hat invites you to ask your support representative to
propose this request, if appropriate and relevant, in the
next release of Red Hat Enterprise Linux.

Comment 2 juzhang 2011-04-06 09:43:53 UTC
Tested qemu-kvm-0.12.1.2-2.153.el6.x86_64,didn't hit the comment0's problem.any mistake,please fix me.

1.set up nfs server
#cat /etc/exports
/mnt	*(rw,no_root_squash)

2. mount nfs server
#mount 10.66.8.113:/mnt/ nfs

3.create base.img and change to read only state
3.1 qemu-img create -f qcow2 base.qcow2 100M
    chmod 440 base_img
3.2 #qemu-img create -f qcow2 -b base.qcow2 -F qcow2 sn1.qcow2
    chmod 740 sn1.qcow2
3.3 #qemu-img create -f qcow2 -b sn1.qcow2 -F qcow2 sn2.qcow2
     chmod 740 snï¼’.qcow2
#ll
total 416
-r--r-----. 1 nobody nobody 262144 Apr  6  2011 base.qcow2
drwxr-xr-x. 2 nobody nobody   4096 Jan  4 11:28 images
-rwxr-----. 1 nobody nobody 262144 Apr  6  2011 sn1.qcow2
-rwxr-----. 1 nobody nobody 262144 Apr  6  2011 sn2.qcow2
drwxr-xr-x. 2 nobody nobody   4096 Jan  4 11:28 windows

4.rebase sn2 
#strace qemu-img rebase -f qcow2 -b base.qcow2 -F qcow2 sn2.qcow2
execve("/usr/bin/qemu-img", ["qemu-img", "rebase", "-f", "qcow2", "-b", "base.qcow2", "-F", "qcow2", "sn2.qcow2"], [/* 30 vars */]) = 0
brk(0)                                  = 0x175e000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f902e7000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=56949, ...}) = 0
mmap(NULL, 56949, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f2f902d9000
close(3)                                = 0
open("/lib64/librt.so.1", O_RDONLY)     = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@!\0\3578\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=47072, ...}) = 0
mmap(0x38ef000000, 2128816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x38ef000000
mprotect(0x38ef007000, 2093056, PROT_NONE) = 0
mmap(0x38ef206000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x38ef206000
close(3)                                = 0
open("/lib64/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\\\300\3568\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=145672, ...}) = 0
mmap(0x38eec00000, 2212768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x38eec00000
mprotect(0x38eec17000, 2097152, PROT_NONE) = 0
mmap(0x38eee17000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x38eee17000
mmap(0x38eee19000, 13216, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x38eee19000
close(3)                                = 0
open("/lib64/libaio.so.1", O_RDONLY)    = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\5\0\3568\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=5624, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f902d8000
mmap(0x38ee000000, 2099840, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x38ee000000
mprotect(0x38ee001000, 2093056, PROT_NONE) = 0
mmap(0x38ee200000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x38ee200000
close(3)                                = 0
open("/lib64/libz.so.1", O_RDONLY)      = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\36\300\3578\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=88240, ...}) = 0
mmap(0x38efc00000, 2181040, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x38efc00000
mprotect(0x38efc15000, 2093056, PROT_NONE) = 0
mmap(0x38efe14000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x38efe14000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY)      = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\355A\3568\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1908648, ...}) = 0
mmap(0x38ee400000, 3733672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x38ee400000
mprotect(0x38ee587000, 2093056, PROT_NONE) = 0
mmap(0x38ee786000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x186000) = 0x38ee786000
mmap(0x38ee78b000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x38ee78b000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f902d7000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f902d6000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f902d5000
arch_prctl(ARCH_SET_FS, 0x7f2f902d6700) = 0
mprotect(0x38ee786000, 16384, PROT_READ) = 0
mprotect(0x38eee17000, 4096, PROT_READ) = 0
mprotect(0x38ef206000, 4096, PROT_READ) = 0
mprotect(0x38ede1d000, 4096, PROT_READ) = 0
munmap(0x7f2f902d9000, 56949)           = 0
set_tid_address(0x7f2f902d69d0)         = 7859
set_robust_list(0x7f2f902d69e0, 0x18)   = 0
futex(0x7fff18175bcc, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7fff18175bcc, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7f2f902d6700) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigaction(SIGRTMIN, {0x38eec05a90, [], SA_RESTORER|SA_SIGINFO, 0x38eec0f520}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x38eec05b20, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x38eec0f520}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0
brk(0)                                  = 0x175e000
brk(0x177f000)                          = 0x177f000
open("sn2.qcow2", O_RDONLY|O_NONBLOCK)  = 3
ioctl(3, CDROM_DRIVE_STATUS, 0x7fffffff) = -1 ENOTTY (Inappropriate ioctl for device)
close(3)                                = 0
stat("sn2.qcow2", {st_mode=S_IFREG|0740, st_size=262144, ...}) = 0
open("sn2.qcow2", O_RDWR|O_CLOEXEC)     = 3
rt_sigprocmask(SIG_BLOCK, [USR2], NULL, 8) = 0
signalfd(4294967295, [USR2], 8)         = 4
fcntl(4, F_GETFD)                       = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_SETFL, O_RDONLY|O_NONBLOCK)  = 0
lseek(3, 0, SEEK_END)                   = 262144
pread(3, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\t\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
pread(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512, 65536) = 512
mmap(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f901d4000
mmap(NULL, 2101248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8ffd3000
brk(0x17a0000)                          = 0x17a0000
pread(3, "\0\0\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65536, 131072) = 65536
pread(3, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\t\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
pread(3, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\t\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
pread(3, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\t\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
open("sn1.qcow2", O_RDONLY|O_NONBLOCK)  = 5
ioctl(5, CDROM_DRIVE_STATUS, 0x7fffffff) = -1 ENOTTY (Inappropriate ioctl for device)
close(5)                                = 0
stat("sn1.qcow2", {st_mode=S_IFREG|0740, st_size=262144, ...}) = 0
open("sn1.qcow2", O_RDONLY|O_CLOEXEC)   = 5
lseek(5, 0, SEEK_END)                   = 262144
pread(5, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\n\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
pread(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512, 65536) = 512
mmap(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8fed2000
brk(0x17c2000)                          = 0x17c2000
mmap(NULL, 2101248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8fcd1000
pread(5, "\0\0\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65536, 131072) = 65536
pread(5, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\n\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
pread(5, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\n\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
pread(5, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\n\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
brk(0x17e3000)                          = 0x17e3000
open("base.qcow2", O_RDONLY|O_NONBLOCK) = 6
ioctl(6, CDROM_DRIVE_STATUS, 0x7fffffff) = -1 ENOTTY (Inappropriate ioctl for device)
close(6)                                = 0
stat("base.qcow2", {st_mode=S_IFREG|0440, st_size=262144, ...}) = 0
open("base.qcow2", O_RDONLY|O_CLOEXEC)  = 6
lseek(6, 0, SEEK_END)                   = 262144
pread(6, "QFI\373\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
pread(6, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512, 65536) = 512
mmap(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8fbd0000
mmap(NULL, 2101248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8f9cf000
brk(0x1813000)                          = 0x1813000
pread(6, "\0\0\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65536, 131072) = 65536
pread(6, "QFI\373\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
open("sn1.qcow2", O_RDONLY|O_NONBLOCK)  = 7
ioctl(7, CDROM_DRIVE_STATUS, 0x7fffffff) = -1 ENOTTY (Inappropriate ioctl for device)
close(7)                                = 0
stat("sn1.qcow2", {st_mode=S_IFREG|0740, st_size=262144, ...}) = 0
open("sn1.qcow2", O_RDONLY|O_CLOEXEC)   = 7
lseek(7, 0, SEEK_END)                   = 262144
pread(7, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\n\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
pread(7, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512, 65536) = 512
mmap(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8f8ce000
mmap(NULL, 2101248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8f6cd000
brk(0x1835000)                          = 0x1835000
pread(7, "\0\0\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65536, 131072) = 65536
pread(7, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\n\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
pread(7, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\n\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
pread(7, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\n\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
open("base.qcow2", O_RDONLY|O_NONBLOCK) = 8
ioctl(8, CDROM_DRIVE_STATUS, 0x7fffffff) = -1 ENOTTY (Inappropriate ioctl for device)
close(8)                                = 0
stat("base.qcow2", {st_mode=S_IFREG|0440, st_size=262144, ...}) = 0
open("base.qcow2", O_RDONLY|O_CLOEXEC)  = 8
lseek(8, 0, SEEK_END)                   = 262144
pread(8, "QFI\373\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
pread(8, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512, 65536) = 512
mmap(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8f5cc000
brk(0x1856000)                          = 0x1856000
mmap(NULL, 2101248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8f3cb000
pread(8, "\0\0\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65536, 131072) = 65536
pread(8, "QFI\373\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
brk(0x1877000)                          = 0x1877000
open("base.qcow2", O_RDONLY|O_NONBLOCK) = 9
ioctl(9, CDROM_DRIVE_STATUS, 0x7fffffff) = -1 ENOTTY (Inappropriate ioctl for device)
close(9)                                = 0
stat("base.qcow2", {st_mode=S_IFREG|0440, st_size=262144, ...}) = 0
open("base.qcow2", O_RDWR|O_CLOEXEC)    = 9
lseek(9, 0, SEEK_END)                   = 262144
pread(9, "QFI\373\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
pread(9, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512, 65536) = 512
mmap(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8f2ca000
mmap(NULL, 2101248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8f0c9000
brk(0x1898000)                          = 0x1898000
pread(9, "\0\0\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65536, 131072) = 65536
pread(9, "QFI\373\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
mmap(NULL, 2101248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8eec8000
mmap(NULL, 2101248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8ecc7000
munmap(0x7f2f8eec8000, 2101248)         = 0
munmap(0x7f2f8ecc7000, 2101248)         = 0
pread(3, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\t\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
pwrite(3, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\t\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
fdatasync(3)                            = 0
pread(3, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\t\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
pwrite(3, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\t\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
fdatasync(3)                            = 0
pread(3, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\t\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
pwrite(3, "QFI\373\0\0\0\2\0\0\0\0\0\0\0X\0\0\0\n\0\0\0\20\0\0\0\0\6@\0\0"..., 512, 0) = 512
fdatasync(3)                            = 0
munmap(0x7f2f8f5cc000, 1052672)         = 0
munmap(0x7f2f8f3cb000, 2101248)         = 0
close(8)                                = 0
munmap(0x7f2f8f8ce000, 1052672)         = 0
munmap(0x7f2f8f6cd000, 2101248)         = 0
close(7)                                = 0
munmap(0x7f2f8f2ca000, 1052672)         = 0
munmap(0x7f2f8f0c9000, 2101248)         = 0
close(9)                                = 0
munmap(0x7f2f8fbd0000, 1052672)         = 0
munmap(0x7f2f8f9cf000, 2101248)         = 0
close(6)                                = 0
munmap(0x7f2f8fed2000, 1052672)         = 0
munmap(0x7f2f8fcd1000, 2101248)         = 0
close(5)                                = 0
munmap(0x7f2f901d4000, 1052672)         = 0
munmap(0x7f2f8ffd3000, 2101248)         = 0
close(3)                                = 0
exit_group(0)                           = ?

5 
#echo $?
0

6.#qemu-img info sn2.qcow2 
image: sn2.qcow2
file format: qcow2
virtual size: 100M (104857600 bytes)
disk size: 136K
cluster_size: 65536
backing file: base.qcow2 (actual path: base.qcow2)

Comment 3 Kevin Wolf 2011-04-06 12:23:15 UTC
You don't even need NFS. This is how I reproduced the bug (on a git tree corresponding to -154):

$ ./qemu-img create -f qcow2 /tmp/base.qcow2 4G
Formatting '/tmp/base.qcow2', fmt=qcow2 size=4294967296 encryption=off cluster_size=0 
$ ./qemu-img create -f qcow2 /tmp/base_new.qcow2 4G
Formatting '/tmp/base_new.qcow2', fmt=qcow2 size=4294967296 encryption=off cluster_size=0 
$ ./qemu-img create -f qcow2 -b /tmp/base.qcow2 /tmp/sn1
Formatting '/tmp/sn1', fmt=qcow2 size=4294967296 backing_file='/tmp/base.qcow2' encryption=off cluster_size=0 
$ chmod 444 /tmp/base.qcow2 
$ chmod 444 /tmp/base_new.qcow2
$ ./qemu-img rebase -b /tmp/base_new.qcow2 /tmp/sn1 
qemu-img: Could not open new backing file '/tmp/base_new.qcow2'

Comment 4 juzhang 2011-04-06 13:36:16 UTC
Both can reproduce using comment0 and comment3 steps with qemu-kvm-0.12.1.2-2.154.el6.x86_6.mark qa_ack+.

Comment 9 juzhang 2011-04-15 02:51:49 UTC
Verified this issue with qemu-kvm-0.12.1.2-2.158.el6.x86_64

Results:

[test@dhcp-91-174 test1]$ qemu-img rebase -b base_new.qcow2 sn1 
[test@dhcp-91-174 test1]$ qemu-img info sn1 
image: sn1
file format: qcow2
virtual size: 4.0G (4294967296 bytes)
disk size: 136K
cluster_size: 65536
backing file: base_new.qcow2 (actual path: base_new.qcow2)

Comment 10 juzhang 2011-04-15 02:52:37 UTC
According to comment4 and comment9,set this issue as verified.

Comment 11 Eduardo Habkost 2011-05-03 19:19:02 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: qemu-img tries to open backing file read-write.

Consequence: qemu-img rebase fail new backing file is read-only.

Fix: qemu-img rebase open new backing file as read-only.

Result: 'qemu-img rebase' works even if new backing file is read-only.

Comment 12 errata-xmlrpc 2011-05-19 11:21:24 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0534.html

Comment 13 errata-xmlrpc 2011-05-19 13:02:34 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0534.html


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