From: Jan Kiszka <jan.kiszka@web.de>
To: Alexander Graf <agraf@suse.de>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
qemu-devel <qemu-devel@nongnu.org>
Subject: [Qemu-devel] Re: [PATCH] kvm: Fix error detection for KVM_GET_DIRTY_LOG
Date: Wed, 22 Jul 2009 23:14:24 +0200 [thread overview]
Message-ID: <4A678130.6080502@web.de> (raw)
In-Reply-To: <A902F44E-B102-46AA-B4DC-0D8A01429F64@suse.de>
[-- Attachment #1: Type: text/plain, Size: 2529 bytes --]
Alexander Graf wrote:
>
>
>
>
> Am 22.07.2009 um 22:07 schrieb Jan Kiszka <jan.kiszka@web.de>:
>
>> Anthony Liguori wrote:
>>> Jan Kiszka wrote:
>>>>> That makes me uncomfortable. Shouldn't we make kvm return something
>>>>> that's exposed to userspace?
>>>>>
>>>>>
>>>>
>>>> Yes, but we can't do this from user space :) (or in other words: there
>>>> are already kernels out there which return this invalid code).
>>>>
>>>
>>> But since it's not symbolic, at some point in time the meaning of 524
>>> can potentially change and introduce a very, very subtle bug.
>>
>> I won't change in old kernel versions, and I expect someone from the
>> PowerPC folks to fix it for new version fairly soon.
>>
>>>
>>>> The situation would only be different if Alex said that it takes
>>>> further
>>>> kernel patches anyway to make his PowerPC targets work. Dunno.
>>>>
>>>
>>> Certainly, his PPC target is not in any released kernel version so
>>> there's time to fix things properly.
>>
>> Ah, ok. Then let's do this (Alex can carry a temporary workaround
>> locally IMHO):
>>
>> ------------->
>>
>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>> ---
>>
>> kvm-all.c | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/kvm-all.c b/kvm-all.c
>> index 824bb4c..5fb8dba 100644
>> --- a/kvm-all.c
>> +++ b/kvm-all.c
>> @@ -348,7 +348,7 @@ int
>> kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr,
>> d.slot = mem->slot;
>>
>> r = kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d);
>> - if (r == -EINVAL) {
>> + if (r < 0) {
>
> That's worse as it essentially removes the not implemented case.
You can add the valid return code of a fixed powerpc version of
kvm_vm_ioctl_get_dirty_log here.
>
> The only thing I'd agree with as a good idea instead of the version I
> sent is an explicit switch statement with an include of errno.h with
> __KERNEL__ set.
Sorry, that's also horrible.
Again the question: Is there already some official, unpatched kernel
version which would work with QEMU if we only handle that borken
ENOTSUPP case?
If not, I see no point in handling it here. Please fix KVM and provide a
patch that checks for the fixed, valid error code.
If there is such a kernel, I see no problem with hard-coding ENOTSUPP's
value now, as we are working around a hard-coded bug that will no longer
exist in the future (where ENOTSUPP may change its value - theoretically).
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 257 bytes --]
next prev parent reply other threads:[~2009-07-22 21:14 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200907221626.n6MGQGH0022104@d03av02.boulder.ibm.com>
2009-07-22 17:00 ` [Qemu-devel] Re: [COMMIT bd83677] Fake dirty loggin when it's not there Jan Kiszka
2009-07-22 18:15 ` Anthony Liguori
2009-07-22 19:27 ` [Qemu-devel] [PATCH] kvm: Fix error detection for KVM_GET_DIRTY_LOG Jan Kiszka
2009-07-22 19:29 ` [Qemu-devel] " Anthony Liguori
2009-07-22 19:40 ` Jan Kiszka
2009-07-22 19:42 ` Anthony Liguori
2009-07-22 20:07 ` Jan Kiszka
2009-07-22 21:01 ` Alexander Graf
2009-07-22 21:14 ` Jan Kiszka [this message]
2009-07-22 21:17 ` Alexander Graf
2009-07-22 21:15 ` Anthony Liguori
2009-07-22 21:24 ` Alexander Graf
2009-07-22 21:25 ` Anthony Liguori
2009-07-22 21:36 ` Alexander Graf
2009-07-22 21:38 ` Anthony Liguori
2009-07-22 21:30 ` Jan Kiszka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A678130.6080502@web.de \
--to=jan.kiszka@web.de \
--cc=agraf@suse.de \
--cc=aliguori@us.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.