In our multipath case, the initial open succeeds (it's not locked by
anything else) and the second lock attempt fails, however, IIUC the
fcntl structure[1] includes the locking pid, which should be our
invocation of QEMU;
Can we not check if the locking pid matches the current pid and not
fail? T
Kevin,
Thanks for the information. A couple of points for feedback:
1) there doesn't appear to be a way to run qmp query-schema without
spawning a qemu instance in -qmp mode and having a second client issue
the query-schema; certainly a qemu-system-$arch -qmp-schema would be
quite useful when e
Machine type changes may be related to:
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1626070
There's a PPA in the bug with a fix for at least the wily machine type.
On Thu, Sep 22, 2016 at 6:05 PM, Leo Arias
wrote:
> This has just happened to me. For some reason, all my machines had
> m
As noted, Xenial kernel is not supporting POWER7 cpu.
** Changed in: linux (Ubuntu)
Status: Confirmed => Invalid
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1563887
Title:
qemu-system-ppc
I should also mention that the original command used will work if we
specify which cpu type to use:
qemu-system-ppc64 -m 256 \
-cpu POWER8 \
-display none -nographic \
-net nic -net user,net=10.0.0.0/8,host=10.0.0.1,hostfwd=tcp::-:22 \
-machine pseries \
-drive file=xenial-server-cl
Here's an update.
The Xenial kernel doesn;t like the emulated POWER7 cpu that the command
line being used generates by default.
processor : 0
cpu : POWER7 (raw), altivec supported
clock : 1000.00MHz
revision: 2.3 (pvr 003f 0203)
timebase: 51200
It appears that the latest version of the patch is here:
http://lists.gnu.org/archive/html/qemu-devel/2015-01/msg00822.html
However, this hasn't yet be accepted upstream. The most recent
discussion requires the submitter to respond to the maintainers
questions here:
http://lists.gnu.org/archive
Have you be able to reproduce this issue on a wily host? What about a
different guest? Or is only RHEL6.3 affected?
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1465935
Title:
kvm_irqchip_commit
Thank you for taking the time to report this bug and helping to make
Ubuntu better. Please execute the following command, as it will
automatically gather debugging information, in a terminal:
apport-collect 1465935
When reporting bugs in the future please use apport by using 'ubuntu-
bug' and the
Hi,
Are you running ntp in the host or timekeeping in the guest? If so, is
the guest clock close to what current time should be?
Also, can you try adding this option:
-global mc146818rtc.lost_tick_policy=slew
--
You received this bug notification because you are a member of qemu-
devel-ml, wh
This issue should be fixed in the qemu-kvm version included in precise.
** Changed in: qemu-kvm (Ubuntu)
Status: Triaged => Fix Released
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/551545
T
}
Looks like it has mixed spaces and tabs.
CODING_STYLE wants {} on all if's
> if (x + w > s->width) {
> fprintf(stderr, "%s: update width too large x: %d, w: %d\n",
> __FUNCTION__, x, w);
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
lue->ip_address = g_strdup(addr6);
> +address_item->value->ip_address_type =
> GUEST_IP_ADDRESS_TYPE_IPV6;
> +
> +if (ifa->ifa_netmask) {
> +/* Count the number of set bits in netmask.
> + * This is safe as '1' and
* Eric Blake [2012-01-17 16:03]:
> On 01/16/2012 10:16 AM, Ryan Harper wrote:
> >>> if test -z "$1" -o -z "$2"; then
> >>> echo "Usage: $0 QEMU TEST1 [TEST2 ...]"
> >>> +cleanup
> >>> exit 1
> >
* Alexander Graf [2012-01-16 14:52]:
>
> On 16.01.2012, at 21:13, Ryan Harper wrote:
>
> > * Alexander Graf [2012-01-16 13:52]:
> >>
> >> On 16.01.2012, at 20:46, Ryan Harper wrote:
> >>
> >>> * Alexander Graf [2012-01-16 13:37]:
>
* Alexander Graf [2012-01-16 13:52]:
>
> On 16.01.2012, at 20:46, Ryan Harper wrote:
>
> > * Alexander Graf [2012-01-16 13:37]:
> >>
> >> On 16.01.2012, at 20:30, Ryan Harper wrote:
> >>
> >>> * Alexander Graf [2012-01-08 17:53]:
>
* Alexander Graf [2012-01-16 13:37]:
>
> On 16.01.2012, at 20:30, Ryan Harper wrote:
>
> > * Alexander Graf [2012-01-08 17:53]:
> >> When running QEMU without -cpu parameter, the user usually wants a sane
> >> default. So far, we're using the qemu64/qemu3
_init_pci_oldcpu,
> .max_cpus = 255,
> };
>
> static QEMUMachine pc_machine_v0_14 = {
> .name = "pc-0.14",
> .desc = "Standard PC",
> -.init = pc_init_pci,
> +.init = pc_init_pci_oldcpu,
> .max_cpus = 255,
> .compat_props = (GlobalProperty[]) {
> {
> @@ -612,6 +637,7 @@ static QEMUMachine xenfv_machine = {
>
> static void pc_machine_init(void)
> {
> +qemu_register_machine(&pc_machine_v1_1);
> qemu_register_machine(&pc_machine_v1_0);
> qemu_register_machine(&pc_machine_v0_15);
> qemu_register_machine(&pc_machine_v0_14);
> --
> 1.6.0.2
>
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
* Eric Blake [2012-01-13 17:18]:
> On 01/13/2012 03:05 PM, Ryan Harper wrote:
> > Create a cleanup function and call it from all exits so we don't leave
> > temp files and directories around since we change the name on each
> > invocation.
> >
> > Als
Signed-off-by: Ryan Harper
---
qemu-test | 62 ++--
1 files changed, 31 insertions(+), 31 deletions(-)
diff --git a/qemu-test b/qemu-test
index 71c1ba1..445ca6d 100755
--- a/qemu-test
+++ b/qemu-test
@@ -29,9 +29,9 @@ if ! which qmp
Ran qemu-test for the first time and found a few places to clean up the output.
Did tab removal in qemu-test and then updated the indentation to be consistent.
Signed-off-by: Ryan Harper
Create a cleanup function and call it from all exits so we don't leave
temp files and directories around since we change the name on each invocation.
Also, no need to delete the files in the tmpdir, so just remove the tmpdir
if it exists.
Signed-off-by: Ryan Harper
---
qemu-test |
Inner blocks of if/for/while are all indented.
Signed-off-by: Ryan Harper
---
qemu-test | 56
1 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/qemu-test b/qemu-test
index 445ca6d..9750a3f 100755
--- a/qemu-test
+++ b
e can extract the size.
Signed-off-by: Ryan Harper
---
qemu-test |7 ---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/qemu-test b/qemu-test
index c6ea595..cd102a7 100755
--- a/qemu-test
+++ b/qemu-test
@@ -54,9 +54,10 @@ checkpid() {
}
get_file_size() {
-ls -al $1
We can test out the virtio-blk drive serial number by generating and then
reading it back via the file in sysfs.
Signed-off-by: Ryan Harper
---
tests/virtio-blk-drive-serial.sh | 40 ++
1 files changed, 40 insertions(+), 0 deletions(-)
create mode 100755
ats
>
> === QCOW2 ===
>
> QCOW2 caches two forms of data, cluster metadata (L1/L2 data, refcount
> table, etc) and mutable header information (file size, snapshot entries,
> etc).
>
> This data needs to be discarded before after migration starts.
before after?
pick one =)
ite operations per second",
> +},{
> + .name = "bps",
> +.type = QEMU_OPT_NUMBER,
> +.help = "limit total bytes per second",
> +},{
> +.name = "bps_rd",
> +.type = QEMU_OPT_NUMBER,
> +.help = "limit read bytes per second",
> +},{
> +.name = "bps_wr",
> +.type = QEMU_OPT_NUMBER,
> +.help = "limit write bytes per second",
> },
> { /* end of list */ }
> },
> diff --git a/qemu-options.hx b/qemu-options.hx
> index 681eaf1..25a7be7 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -136,6 +136,7 @@ DEF("drive", HAS_ARG, QEMU_OPTION_drive,
> "
> [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]\n"
> " [,serial=s][,addr=A][,id=name][,aio=threads|native]\n"
> " [,readonly=on|off]\n"
> +"
> [[,bps=b]|[[,bps_rd=r][,bps_wr=w]]][[,iops=i]|[[,iops_rd=r][,iops_wr=w]]\n"
> "use 'file' as a drive image\n", QEMU_ARCH_ALL)
> STEXI
> @item -drive @var{option}[,@var{option}[,@var{option}[,...]]]
> --
> 1.7.6
>
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
*gp_name;
> +bool state;
> +int start;
> +int end;
> +} TraceEventGroup;
> +
> void trace0(TraceEventID event);
> void trace1(TraceEventID event, uint64_t x1);
> void trace2(TraceEventID event, uint64_t x1, uint64_t x2);
> --
> 1.7.1
>
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
sizeof(struct virtio_net_hdr_mrg_rxbuf));
> }
>
> -net->dev.nvqs = 2;
> -net->dev.vqs = net->vqs;
> r = vhost_dev_start(&net->dev, dev);
> if (r < 0) {
> -return r;
> +goto fail_start;
> }
>
> net->vc->info->poll(net->vc, false);
> @@ -173,6 +179,9 @@ fail:
> if (net->dev.acked_features & (1 << VIRTIO_NET_F_MRG_RXBUF)) {
> tap_set_vnet_hdr_len(net->vc, sizeof(struct virtio_net_hdr));
> }
> +fail_start:
> +vhost_dev_disable_notifiers(&net->dev, dev);
> +fail_notifiers:
> return r;
> }
>
> @@ -190,6 +199,7 @@ void vhost_net_stop(struct vhost_net *net,
> if (net->dev.acked_features & (1 << VIRTIO_NET_F_MRG_RXBUF)) {
> tap_set_vnet_hdr_len(net->vc, sizeof(struct virtio_net_hdr));
> }
> +vhost_dev_disable_notifiers(&net->dev, dev);
> }
>
> void vhost_net_cleanup(struct vhost_net *net)
> --
> 1.7.5.53.gc233e
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
* Christoph Hellwig [2011-08-24 13:46]:
> On Mon, Aug 22, 2011 at 11:46:00AM -0500, Ryan Harper wrote:
> > So, I believe this is how it's happening.
> >
> > we start accounting on a write which is turned into a multiwrite via
> > virtio_blk_handle_write() whic
async.o
$(coroutine-obj-y) $(CHECK_PROG_DEPS)
+test-linux: test-linux.o $(CHECK_PROG_DEPS)
$(qapi-obj-y): $(GENERATED_HEADERS)
qapi-dir := qapi-generated
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
eatures to make using QEMU easier.
That said, it does mean that some things like system-wide config and
privs are hard and aren't strictly virtualization issues, but that
doesn't mean we can't integrate some sort of solution.
>
> > That may require tighter integration and more focus on the higher up pieces
> > in the stack to really enable this.
>
> Yes, exactly. Much of it shouldn't be inside QEMU.
>
> Stefan
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
* Christoph Hellwig [2011-08-22 10:37]:
> On Mon, Aug 22, 2011 at 10:29:11AM -0500, Ryan Harper wrote:
> > (gdb) frame 0
> > #0 0x004200c1 in bdrv_acct_done (bs=0x12310b0, cookie=0x1c68810)
> > at /root/git/qemu/block_int.h:239 239 bs->nr_bytes[cook
* Christoph Hellwig [2011-08-22 10:16]:
> On Mon, Aug 22, 2011 at 09:59:16AM -0500, Ryan Harper wrote:
> > * Christoph Hellwig [2011-08-21 17:27]:
> > > changes since V1:
> > > - rebase to apply against the current qemu.git tree
> >
> >
326a0, tqe_prev =
0x9d8e10}, private = 0x0}
(gdb) list
234 }
235
236 static inline void
237 bdrv_acct_done(BlockDriverState *bs, BlockAcctCookie *cookie)
238 {
239 bs->nr_bytes[cookie->type] += cookie->bytes;
240 bs->nr_ops[cookie->type]++;
241 bs-&g
ions instead of
> implementing equivalent functionality ourselves. QEMU then runs with
> plain old raw in more cases.
>
> Stefan
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
k.h
> @@ -97,7 +97,6 @@ int bdrv_change_backing_file(BlockDriverState *bs,
> const char *backing_file, const char *backing_fmt);
> void bdrv_register(BlockDriver *bdrv);
>
> -
> typedef struct BdrvCheckResult {
> int corruptions;
> int leaks;
> diff --git a/block_int.h b/block_int.h
> index 1e265d2..1ca826b 100644
> --- a/block_int.h
> +++ b/block_int.h
> @@ -27,10 +27,17 @@
> #include "block.h"
> #include "qemu-option.h"
> #include "qemu-queue.h"
> +#include "block/blk-queue.h"
>
> #define BLOCK_FLAG_ENCRYPT 1
> #define BLOCK_FLAG_COMPAT6 4
>
> +#define BLOCK_IO_LIMIT_READ 0
> +#define BLOCK_IO_LIMIT_WRITE1
> +#define BLOCK_IO_LIMIT_TOTAL2
> +
> +#define BLOCK_IO_SLICE_TIME 1
> +
> #define BLOCK_OPT_SIZE "size"
> #define BLOCK_OPT_ENCRYPT "encryption"
> #define BLOCK_OPT_COMPAT6 "compat6"
> @@ -46,6 +53,16 @@ typedef struct AIOPool {
> BlockDriverAIOCB *free_aiocb;
> } AIOPool;
>
> +typedef struct BlockIOLimit {
> +uint64_t bps[3];
> +uint64_t iops[3];
> +} BlockIOLimit;
> +
> +typedef struct BlockIODisp {
> +uint64_t bytes[2];
> +uint64_t ios[2];
> +} BlockIODisp;
> +
> struct BlockDriver {
> const char *format_name;
> int instance_size;
> @@ -175,6 +192,15 @@ struct BlockDriverState {
>
> void *sync_aiocb;
>
> +/* the time for latest disk I/O */
> +int64_t slice_start[2];
> +int64_t slice_end[2];
> +BlockIOLimit io_limits;
> +BlockIODisp io_disps;
> +BlockQueue *block_queue;
> +QEMUTimer*block_timer;
> +bool req_from_queue;
> +
> /* I/O stats (display with "info blockstats"). */
> uint64_t rd_bytes;
> uint64_t wr_bytes;
> @@ -222,6 +248,9 @@ void qemu_aio_release(void *p);
>
> void *qemu_blockalign(BlockDriverState *bs, size_t size);
>
> +void bdrv_set_io_limits(BlockDriverState *bs,
> +BlockIOLimit *io_limits);
> +
> #ifdef _WIN32
> int is_windows_drive(const char *filename);
> #endif
> --
> 1.7.2.3
>
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
y request), and then you
release the memory back to the pool once your request is complete, which
you'll know after wiring up the block_queue callback to the completion
of the request's handler. And then since we don't double allocate, you
won't need to do the qemu_free(request) in block.c in block_timer...
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
(3):
> v4: fix memory leaking based on ryan's feedback.
It looks like the leak has been fixed, but I think we need to rework how
the blk-queue is using the AIOPool. I'll reply to that patch.
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
9.6 34.5 44:00.87 qemu-system-x86
would be worth looking through the code and maybe a valgrind run to
catch the leak.
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
asn't
> made it into the list yet.
>
What's the end goal here? Are you really passing an entire disk to the
guest and want to have the guest monitor the device? If not, then I
suggest just disabling smartmontools since it won't give you meaningful
data anyhow.
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
about putting limits on a disk independant of a VM. It is
> about one VM having multiple disks, and wanting to set different policies
> for each of its virtual disks. eg
>
> qemu-kvm -drive file=/dev/sda1 -drive file=/dev/sdb3
>
> and wanting to say that sda1 is limited to 10
s->io_buffer[0] != GPCMD_REQUEST_SENSE &&
> +s->io_buffer[0] != GPCMD_INQUIRY &&
> +s->io_buffer[0] != GPCMD_TEST_UNIT_READY) {
> + ide_atapi_cmd_check_status(s);
> +return;
> }
> switch(s->io_buffer[0]) {
> case GPCMD_TEST_UNIT_READY:
> --
> 1.7.4
>
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
: Markus Armbruster
Signed-off-by: Ryan Harper
---
v3->v4
- add back missing nulling of device_name in v2
- use drive_uninit() when removing drive with no peer
- align commit message on 72 char boundary
v2->v3
- Update drive_del use after free description
- s/bdrv_remove/bdrv_make_an
* Markus Armbruster [2011-03-29 04:06]:
> Since you have to respin anyway, would you mind limiting commit message
> line length to 70-75 characters? Thanks.
yep
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
* Markus Armbruster [2011-03-29 02:44]:
> Ryan Harper writes:
>
> > When removing a drive from the host-side via drive_del we currently have the
> > following path:
> >
> > drive_del
> > qemu_aio_flush()
> > bdrv_close()// zaps b
: Markus Armbruster
Signed-off-by: Ryan Harper
---
v2->v3
- Update drive_del use after free description
- s/bdrv_remove/bdrv_make_anon/g
- Don't remove qdev property since we don't delete bs any more
- If (bs->peer) bdrv_make_anon else bdrv_delete to handle removing
drives
* Markus Armbruster [2011-03-24 07:27]:
> Whoops, almost missed this. Best to cc: me to avoid that.
>
It was sent directly to you:
> Sender: qemu-devel-bounces+ryanh=us.ibm@nongnu.org
> From: Ryan Harper
> Subject: Re: [Qemu-devel] [PATCH v2] Do not delete BlockD
* Markus Armbruster [2011-03-15 04:48]:
> Sorry for the long delay, I was out of action for a week.
>
> Ryan Harper writes:
>
> > When removing a drive from the host-side via drive_del we currently have the
> > following path:
> >
> > drive_del
* Wen Congyang [2011-03-09 01:21]:
> At 03/09/2011 02:12 PM, Ryan Harper Write:
> > * Wen Congyang [2011-03-08 23:09]:
> >> At 03/09/2011 12:08 PM, Ryan Harper Write:
> >>> * Wen Congyang [2011-02-27 20:56]:
> >>>> Hi Markus Armbruster
> >&
* Wen Congyang [2011-03-08 23:09]:
> At 03/09/2011 12:08 PM, Ryan Harper Write:
> > * Wen Congyang [2011-02-27 20:56]:
> >> Hi Markus Armbruster
> >>
> >> At 02/23/2011 04:30 PM, Markus Armbruster Write:
> >>> Isaku Yamahata writes:
> >>
eturned were invalid and tools like skdump
> would not recognize that the smart data was actually valid and would
> dump weird output. The data has been fixed up and raw value support
> was added. Tools like skdump and palimpsest work as expected.
>
> v5 changes: rebase
> v
gt; {
> s->gpe.sts |= PIIX4_PCI_HOTPLUG_STATUS;
> s->pci0_status.down |= (1 << slot);
> }
>
> +static void pend_disable_device(PIIX4PMState *s, int slot)
> +{
> +s->pci0_status_pending.down |= (1 << slot);
> +}
> +
> static int piix4_device_hotplug(DeviceState *qdev, PCIDevice *dev,
> PCIHotplugState state)
> {
> @@ -659,15 +688,23 @@ static int piix4_device_hotplug(DeviceState *qdev,
> PCIDevice *dev,
> return 0;
> }
>
> -s->pci0_status.up = 0;
> -s->pci0_status.down = 0;
> -if (state == PCI_HOTPLUG_ENABLED) {
> -enable_device(s, slot);
> +if (s->gpe.sts & PIIX4_PCI_HOTPLUG_STATUS) {
> +if (state == PCI_HOTPLUG_ENABLED) {
> +pend_enable_device(s, slot);
> +} else {
> +pend_disable_device(s, slot);
> +}
> } else {
> -disable_device(s, slot);
> -}
> +s->pci0_status.up = 0;
> +s->pci0_status.down = 0;
> +if (state == PCI_HOTPLUG_ENABLED) {
> +enable_device(s, slot);
> +} else {
> +disable_device(s, slot);
> +}
>
> -pm_update_sci(s);
> +pm_update_sci(s);
> +}
>
> return 0;
> }
> --
> 1.7.1
>
> >
> > Your patch adds a *second* qdev_free(). No good.
> >
> >
>
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
If the block device has been closed, we no longer have a medium to submit
IO against, check for this before submitting io. This prevents a segfault
further in the code where we dereference elements of the block driver.
Signed-off-by: Ryan Harper
---
v1->v2:
- move bs->drv check to
we don't have to worry about the copy
retained in the block devices.
Reported-by: Marcus Armbruster
Signed-off-by: Ryan Harper
---
v1->v2
- NULL bs->device_name after removing from list to prevent
second removal.
block.c| 12 +---
block.h|1 +
blockdev
If the block device has been closed, we no longer have a medium to submit
IO against, check for this before submitting io. This prevents a segfault
further in the code where we dereference elements of the block driver.
Signed-off-by: Ryan Harper
---
block.c |5 +
1 files changed, 5
iverState, we don't have to worry about the copy
retained in the block devices. This state will be deleted if the guest
is asked and responds to a pci device removal request.
Reported-by: Markus Armbruster
Signed-off-by: Ryan Harper
---
block.c| 11 ---
block.h|1
smart_attributes[n][3];
> + }
> + int i;
> + for(i = 0; i < 11; i++) {
> + s->io_buffer[2+i+(n*12)] = smart_attributes[n][i];
Needs one more indent for s->io_b, per CODING_STYLE (4. Block structure)
> + }
> }
> s->io_buffer[362] = 0x02 | (s->smart_autosave?0x80:0x00);
> if (s->smart_selftest_count == 0) {
>
>
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
->smart_selftest_count;
> for (n=2; n<506; n++)
> - s->io_buffer[n] = s->smart_selftest_data[n];
> - }
> - for (n=0; n<511; n++)
> + s->io_buffer[n] = s->smart_selftest_data[n];
> + }
> + for (n=0; n<511; n++)
brace
> s->io_buffer[511] += s->io_buffer[n];
> - s->io_buffer[511] = 0x100 - s->io_buffer[511];
> - break;
> + s->io_buffer[511] = 0x100 - s->io_buffer[511];
> + break;
> default:
> - goto abort_cmd;
> + goto abort_cmd;
> }
> s->status = READY_STAT | SEEK_STAT;
> ide_transfer_start(s, s->io_buffer, 0x200, ide_transfer_stop);
>
This patchset looks a lot larger than it should since there is a lot of
indentation movement, it would be good to see a version that just
implemented the changes needed, which AFAICT are mainly the additional
attributes and limits.
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
+++ qemu/block_int.h 2011-01-14 17:06:02.539004271 +0100
> @@ -167,6 +167,7 @@ struct BlockDriverState {
> char backing_format[16]; /* if non-zero and backing_file exists */
> int is_temporary;
> int media_changed;
> +int size_changed;
>
> BlockDriverSta
* Ryan Harper [2011-01-04 09:49]:
> * Aurelien Jarno [2010-12-25 16:37]:
> > On Wed, Dec 08, 2010 at 04:27:45PM -0200, Luiz Capitulino wrote:
> > > On Wed, 08 Dec 2010 12:23:12 -0600
> > > Anthony Liguori wrote:
> > >
> > > > On 12/08/2010 12:0
re
> > > > not using kvm
> > > >
> > > > Upstream qemu-kvm is affected if using the -no-kvm option; this patch
> > > > address
> > > > the segfault there as well.
> > > >
> > > > Signed-off-by: Ryan Harper
> > >
if drive_get_by_blockdev() actually returns a valid
dinfo pointer or not.
1. (qemu) pci_add auto storage
file=images/test01.raw,if=virtio,id=block1,snapshot=on
(qemu) drive_del block1
(qemu) pci_del 5
*segfault*
Signed-off-by: Ryan Harper
--
Ryan Harper
Software Engineer; Linux Technology Center
a chicken and egg situation. We don't
> have ahci, but the ide code is ugly. We would probably do a bad job at
> refactoring the ata code if we don't know which interfaces to design for.
>
> So IMHO the only way we can really go is to implement sata, take the uglyness
&
* Kevin Wolf [2010-11-16 08:05]:
> Am 16.11.2010 14:51, schrieb Luiz Capitulino:
> > On Fri, 12 Nov 2010 18:38:57 +0100
> > Kevin Wolf wrote:
> >
> >> Am 12.11.2010 18:07, schrieb Ryan Harper:
> >>> details, details, v8
> >>>
> >>
flush;
bdrv_flush() and bdrv_close()). This prevents further IO from being
submitted against the host device. Finally, drive_del cleans up
pointers between the drive object (host resource) and the device
object (guest resource).
Signed-off-by: Ryan Harper
---
blockdev.c |
g()
Signed-off-by: Ryan Harper
Signed-off-by: Ryan Harper
---
qmp-commands.hx | 29 +
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 793cf1c..1e0d4e9 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -338,6 +338,35 @@ Example:
EQMP
* Kevin Wolf [2010-11-12 10:43]:
> Am 12.11.2010 16:38, schrieb Ryan Harper:
> > Currently device hotplug removal code is tied to device removal via
> > ACPI. All pci devices that are removable via device_del() require the
> > guest to respond to the request. In some ca
Signed-off-by: Ryan Harper
---
qmp-commands.hx | 29 +
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 793cf1c..1e0d4e9 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -338,6 +338,35 @@ Example:
EQMP
flush;
bdrv_flush() and bdrv_close()). This prevents further IO from being
submitted against the host device. Finally, drive_del cleans up
pointers between the drive object (host resource) and the device
object (guest resource).
Signed-off-by: Ryan Harper
---
blockdev.c |
e_unplug to hmp/qmp interface
Changes since v3:
- Moved QMP command for drive_unplug() to separate patch
Changes since v2:
- Added QMP command for drive_unplug()
Changes since v1:
- CodingStyle fixes
- Added qemu_aio_flush() to bdrv_unplug()
Signed-off-by: Ryan Harper
* Markus Armbruster [2010-11-11 04:48]:
> Ryan Harper writes:
>
> > * Markus Armbruster [2010-11-10 11:40]:
> >> Ryan Harper writes:
> >>
> >> > * Markus Armbruster [2010-11-10 06:48]:
> >> >> One real question, a
* Markus Armbruster [2010-11-10 11:40]:
> Ryan Harper writes:
>
> > * Markus Armbruster [2010-11-10 06:48]:
> >> One real question, and a couple of nits.
> >>
> >> Ryan Harper writes:
> >>
> >> > Block hot unplug is rac
* Markus Armbruster [2010-11-10 11:40]:
> Ryan Harper writes:
>
> > * Markus Armbruster [2010-11-10 06:48]:
> >> One real question, and a couple of nits.
> >>
> >> Ryan Harper writes:
> >>
> >> > Block hot unplug is rac
* Markus Armbruster [2010-11-10 06:48]:
> One real question, and a couple of nits.
>
> Ryan Harper writes:
>
> > Block hot unplug is racy since the guest is required to acknowlege the ACPI
> > unplug event; this may not happen synchronously with the device removal
(BlockDriverState) and guest (DeviceInfo).
A subsequent device removal command can be issued to remove the device, to which
the guest may or maynot respond, but as long as the unplugged bit is set, no IO
will be sumbitted.
Signed-off-by: Ryan Harper
---
block.c |7 +++
block.h
e_unplug()
Changes since v1:
- CodingStyle fixes
- Added qemu_aio_flush() to bdrv_unplug()
Signed-off-by: Ryan Harper
Signed-off-by: Ryan Harper
---
qmp-commands.hx | 29 +
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 793cf1c..1e0d4e9 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -338,6 +338,35 @@ Example:
EQMP
* Daniel P. Berrange [2010-11-08 11:05]:
> On Mon, Nov 08, 2010 at 06:56:02PM +0200, Michael S. Tsirkin wrote:
> > On Mon, Nov 08, 2010 at 08:02:50AM -0600, Ryan Harper wrote:
> > > * Markus Armbruster [2010-11-08 06:04]:
> > > > "Michael S. Tsirkin" w
* Michael S. Tsirkin [2010-11-08 10:57]:
> On Mon, Nov 08, 2010 at 08:02:50AM -0600, Ryan Harper wrote:
> > * Markus Armbruster [2010-11-08 06:04]:
> > > "Michael S. Tsirkin" writes:
> > >
> > > > On Mon, Nov 08, 2010 at 11:32:01AM +0100, Mark
* Markus Armbruster [2010-11-08 06:04]:
> "Michael S. Tsirkin" writes:
>
> > On Mon, Nov 08, 2010 at 11:32:01AM +0100, Markus Armbruster wrote:
> >> Ryan Harper writes:
> >>
> >> > * Markus Armbruster [2010-11-06 04:19]:
> >> &
* Markus Armbruster [2010-11-06 04:19]:
> Ryan Harper writes:
>
> > * Markus Armbruster [2010-11-05 11:11]:
> >> Ryan Harper writes:
> >>
> >> > * Markus Armbruster [2010-11-05 08:28]:
> >> >> I'd be fine with any of these:
>
* Markus Armbruster [2010-11-05 11:11]:
> Ryan Harper writes:
>
> > * Markus Armbruster [2010-11-05 08:28]:
> >> I'd be fine with any of these:
> >>
> >> 1. A new command "device_disconnet ID" (or similar name) to disconnect
> >>
* Markus Armbruster [2010-11-05 08:28]:
> Ryan Harper writes:
>
> > * Michael S. Tsirkin [2010-11-03 16:46]:
> >> On Wed, Nov 03, 2010 at 03:59:29PM -0500, Ryan Harper wrote:
> >> > * Michael S. Tsirkin [2010-11-03 13:03]:
> >> > > On Wed, Nov
* Michael S. Tsirkin [2010-11-05 09:18]:
> On Fri, Nov 05, 2010 at 02:27:49PM +0100, Markus Armbruster wrote:
> > Ryan Harper writes:
> >
> > > * Michael S. Tsirkin [2010-11-03 16:46]:
> > >> On Wed, Nov 03, 2010 at 03:59:29PM -0500, Ryan Harper wrote:
>
* Michael S. Tsirkin [2010-11-03 16:46]:
> On Wed, Nov 03, 2010 at 03:59:29PM -0500, Ryan Harper wrote:
> > * Michael S. Tsirkin [2010-11-03 13:03]:
> > > On Wed, Nov 03, 2010 at 12:29:10PM -0500, Ryan Harper wrote:
> > > > * Markus Armbruster [2010-11-03 11:42]:
* Michael S. Tsirkin [2010-11-03 13:03]:
> On Wed, Nov 03, 2010 at 12:29:10PM -0500, Ryan Harper wrote:
> > * Markus Armbruster [2010-11-03 11:42]:
> > > Ryan Harper writes:
> > >
> > > > * Michael S. Tsirkin [2010-11-03 02:22]:
> > > >>
* Markus Armbruster [2010-11-03 11:42]:
> Ryan Harper writes:
>
> > * Michael S. Tsirkin [2010-11-03 02:22]:
> >> On Tue, Nov 02, 2010 at 03:23:38PM -0500, Ryan Harper wrote:
> >> > * Michael S. Tsirkin [2010-11-02 14:18]:
> >> > > On Tue, Nov
* Michael S. Tsirkin [2010-11-03 02:22]:
> On Tue, Nov 02, 2010 at 03:23:38PM -0500, Ryan Harper wrote:
> > * Michael S. Tsirkin [2010-11-02 14:18]:
> > > On Tue, Nov 02, 2010 at 02:01:08PM -0500, Ryan Harper wrote:
> > > > > > > > I like the idea of di
* Michael S. Tsirkin [2010-11-02 14:18]:
> On Tue, Nov 02, 2010 at 02:01:08PM -0500, Ryan Harper wrote:
> > > > > > I like the idea of disconnect; if part of the device_del method was
> > > > > > to
> > > > > > invoke a disconnect method,
guest resources before we notified the guest. Thinking about it again
I'm not sure this is useful, but if we're going to remove the device
without the guests knowledge, I'm not sure how useful sending the
removal requests via ACPI is in the first place.
My feeling is that I'd
* Michael S. Tsirkin [2010-11-02 10:56]:
> On Tue, Nov 02, 2010 at 09:22:01AM -0500, Ryan Harper wrote:
> > * Michael S. Tsirkin [2010-11-02 08:59]:
> > > On Tue, Nov 02, 2010 at 08:46:22AM -0500, Ryan Harper wrote:
> > > > * Markus Armbruster [2010-11-02 04:40]:
* Michael S. Tsirkin [2010-11-02 08:59]:
> On Tue, Nov 02, 2010 at 08:46:22AM -0500, Ryan Harper wrote:
> > * Markus Armbruster [2010-11-02 04:40]:
> > > >> >> I'd like to have some consistency among net, block and char device
> > > >> >>
* Markus Armbruster [2010-11-02 04:40]:
> Ryan Harper writes:
>
> > * Markus Armbruster [2010-10-29 11:11]:
> >> Ryan Harper writes:
> >>
> >> > * Markus Armbruster [2010-10-29 09:13]:
> >> >> [Note cc: Michael]
> >> >>
Signed-off-by: Ryan Harper
---
qmp-commands.hx | 31 +++
1 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 793cf1c..a1f7b2f 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -338,6 +338,37 @@ Example:
EQMP
the guest may or maynot respond, but as long as the unplugged bit is set, no IO
will be sumbitted.
Signed-off-by: Ryan Harper
---
block.c |7 +++
block.h |1 +
blockdev.c | 17 +
blockdev.h |1 +
hmp-commands.hx | 20
- Added qemu_aio_flush() to bdrv_unplug()
Signed-off-by: Ryan Harper
* Markus Armbruster [2010-10-29 09:08]:
> Ryan Harper writes:
>
> > Block hot unplug is racy since the guest is required to acknowlege the ACPI
> > unplug event; this may not happen synchronously with the device removal
> > command
> >
> > This seri
* Markus Armbruster [2010-10-29 11:11]:
> Ryan Harper writes:
>
> > * Markus Armbruster [2010-10-29 09:13]:
> >> [Note cc: Michael]
> >>
> >> Ryan Harper writes:
> >>
> >>
> >> If I understand your patch correctly, the d
1 - 100 of 190 matches
Mail list logo