summary refs log tree commit diff stats
path: root/results/scraper/launchpad/1077838
blob: 52ba9eb847221e67359fd3488ad5e075346204fb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
qemu-nbd -r -c taints device for subsequent usage, even after -d

Something about qemu-nbd -r -c /dev/nbd0 someimg leaves cruft behind - subsequent connections get marked readonly.

This is on quantal, haven't checked precise or raring.

To demonstrate:
# use one image
qemu-img create -f qcow2 /tmp/1.qcow2 100M
sudo qemu-nbd -c /dev/nbd2 /tmp/1.qcow2
sudo mkfs -t ext4 /dev/nbd2
sudo qemu-nbd -d /dev/nbd2
# use a second one on the same nbd device, shows that reuse works:
qemu-img create -f qcow2 /tmp/2.qcow2 100M
sudo qemu-nbd -c /dev/nbd2 /tmp/2.qcow2
sudo mkfs -t ext4 /dev/nbd2
sudo qemu-nbd -d /dev/nbd2
# connect an image in read only mode
sudo qemu-nbd -r -c /dev/nbd2 /tmp/2.qcow2
sudo dumpe2fs /dev/nbd2 | head -n 3
sudo qemu-nbd -d /dev/nbd2
# now try to reuse in read-write mode again:
qemu-img create -f qcow2 /tmp/3.qcow2 100M
sudo qemu-nbd -c /dev/nbd2 /tmp/3.qcow2
sudo mkfs -t ext4 /dev/nbd2
# here it goes boom:
mke2fs 1.42.5 (29-Jul-2012)
/dev/nbd2: Operation not permitted while setting up superblock
# still need to cleanup
sudo qemu-nbd -d /dev/nbd2

Happens on Precise as well.

Quick code read - I think that this block:
    if (flags & NBD_FLAG_READ_ONLY) {
        int read_only = 1;       
        TRACE("Setting readonly attribute");
            
        if (ioctl(fd, BLKROSET, (unsigned long) &read_only) < 0) { 
            int serrno = errno;
            LOG("Failed setting read-only attribute");
            return -serrno;
        }   
    }       

in nbd.c should be
    {
        int read_only = 0;
        if (flags & NBD_FLAG_READ_ONLY)
            read_only = 1;
        TRACE("Setting readonly attribute");
        if (ioctl(fd, BLKROSET, (unsigned long) &read_only) < 0) { 
            int serrno = errno;
            LOG("Failed setting read-only attribute");
            return -serrno;
        }   
    }       


http://paste.ubuntu.com/1352684/ is a debdiff, uploading the source format 3 patch as well





Fixed patch - I had my sense inverted... http://paste.ubuntu.com/1352711/ 

Thanks, this still applies upstream as well.

To some extent it is a bug in the upstream kernel, which doesn't reset state properly. However, the qemu patch is also good. Thanks!

Thanks, Paul, I'll cherrypick commit c8969eded252058e90e91f12f75f32aceae46ec9 into the ubuntu packages

This bug was fixed in the package qemu-kvm - 1.2.0+noroms-0ubuntu4

---------------
qemu-kvm (1.2.0+noroms-0ubuntu4) raring; urgency=low

  [ Serge Hallyn ]
  * debian/qemu-kvm.postinst: use udevadm trigger to change /dev/kvm perms as
    recommended by Steve Langasek (LP: #1057024)
  * apply debian/patches/nbd-fixes-to-read-only-handling.patch from upstream to
    make read-write mount after read-only mount work.  (LP: #1077838)

  [ Robert Collins ]
  * Fix upstart job to succeed if ksm settings can't be altered in the same way
    other settings are handled. (LP: #1078530)
 -- Serge Hallyn <email address hidden>   Wed, 14 Nov 2012 11:30:14 -0600

Hello Robert, or anyone else affected,

Accepted qemu-kvm into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/qemu-kvm/1.0+noroms-0ubuntu14.4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package.  See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed.  Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done.  If it does not, change the tag to verification-failed.  In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification .  Thank you in advance!

Hello Robert, or anyone else affected,

Accepted qemu-kvm into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/qemu-kvm/1.0+noroms-0ubuntu14.5 in a few hours, and then in the -proposed repository.

Please help us by testing this new package.  See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed.  Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done.  If it does not, change the tag to verification-failed.  In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification .  Thank you in advance!

Hello Robert, or anyone else affected,

Accepted qemu-kvm into quantal-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/qemu-kvm/1.2.0+noroms-0ubuntu2.12.10.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package.  See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed.  Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done.  If it does not, change the tag to verification-failed.  In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification .  Thank you in advance!

Verified on precise.

Verified on quantal.

Hello Robert, or anyone else affected,

Accepted qemu-kvm into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/qemu-kvm/1.0+noroms-0ubuntu14.6 in a few hours, and then in the -proposed repository.

Please help us by testing this new package.  See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed.  Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed.  In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification .  Thank you in advance!

Re-verified in precise.

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates.  Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report.  In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

This bug was fixed in the package qemu-kvm - 1.2.0+noroms-0ubuntu2.12.10.1

---------------
qemu-kvm (1.2.0+noroms-0ubuntu2.12.10.1) quantal-proposed; urgency=low

  [ Serge Hallyn ]
  * debian/qemu-kvm.postinst: use udevadm trigger to change /dev/kvm perms as
    recommended by Steve Langasek (LP: #1057024)
  * apply debian/patches/nbd-fixes-to-read-only-handling.patch from upstream to
    make read-write mount after read-only mount work.  (LP: #1077838)
  * make qemu-kvm depend on udev (LP: #1080912)

  [ Robert Collins ]
  * Fix upstart job to succeed if ksm settings can't be altered in the same way
    other settings are handled. (LP: #1078530)
 -- Serge Hallyn <email address hidden>   Mon, 19 Nov 2012 09:15:42 -0600

This bug was fixed in the package qemu-kvm - 1.0+noroms-0ubuntu14.6

---------------
qemu-kvm (1.0+noroms-0ubuntu14.6) precise-proposed; urgency=low

  * Fix qemu-kvm.upstart: just don't run in a container.  Otherwise we'll
    still try to load/unload kernel modules.  Also undo the || true after
    sysfs writes.  Since setting those is a part of configuring qemu-kvm
    on the host, failing when they fail makes sense.

qemu-kvm (1.0+noroms-0ubuntu14.5) precise-proposed; urgency=low

  * add udev to qemu-kvm Depends to ensure that postinst succeeds.
    (LP: #1080912)

qemu-kvm (1.0+noroms-0ubuntu14.4) precise-proposed; urgency=low

  [ Serge Hallyn ]
  * debian/qemu-kvm.postinst: use udevadm trigger to change /dev/kvm perms as
    recommended by Steve Langasek (LP: #1057024)
  * apply debian/patches/nbd-fixes-to-read-only-handling.patch from upstream to
    make read-write mount after read-only mount work.  (LP: #1077838)

  [ Robert Collins ]
  * Fix upstart job to succeed if ksm settings can't be altered in the same way
    other settings are handled. (LP: #1078530)
 -- Serge Hallyn <email address hidden>   Thu, 20 Dec 2012 12:34:52 -0600

According to comment #9 this bug has been fixed by this commit here:
http://git.qemu.org/?p=qemu.git;a=commitdiff;h=c8969eded252058
... so I think it should be OK to close this bug now.