From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "paul@xen.org" <paul@xen.org>
Cc: David Woodhouse <dwmw2@infradead.org>,
Stefano Stabellini <sstabellini@kernel.org>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
Julien Grall <julien@xen.org>,
Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
Anthony Perard <anthony.perard@citrix.com>,
"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a directory
Date: Thu, 23 Nov 2023 11:54:01 +0000 [thread overview]
Message-ID: <87bkbky9bb.fsf@epam.com> (raw)
In-Reply-To: <dce4efb0-4fdc-404c-8e5d-c90ed732eb8a@xen.org>
Hi Paul,
Paul Durrant <xadimgnik@gmail.com> writes:
> On 23/11/2023 00:07, Volodymyr Babchuk wrote:
>> Hi,
>> Volodymyr Babchuk <volodymyr_babchuk@epam.com> writes:
>>
>>> Hi Stefano,
>>>
>>> Stefano Stabellini <sstabellini@kernel.org> writes:
>>>
>>>> On Wed, 22 Nov 2023, David Woodhouse wrote:
>>>>> On Wed, 2023-11-22 at 15:09 -0800, Stefano Stabellini wrote:
>>>>>> On Wed, 22 Nov 2023, David Woodhouse wrote:
>>>>>>> On Wed, 2023-11-22 at 14:29 -0800, Stefano Stabellini wrote:
>>>>>>>> On Wed, 22 Nov 2023, Paul Durrant wrote:
>>>>>>>>> On 21/11/2023 22:10, Volodymyr Babchuk wrote:
>>>>>>>>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>>>>>>>
>>>>>>>>>> Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNER to
>>>>>>>>>> inherit the owner of the directory.
>>>>>>>>>
>>>>>>>>> Ah... so that's why the previous patch is there.
>>>>>>>>>
>>>>>>>>> This is not the right way to fix it. The QEMU Xen support is *assuming* that
>>>>>>>>> QEMU is either running in, or emulating, dom0. In the emulation case this is
>>>>>>>>> probably fine, but the 'real Xen' case it should be using the correct domid
>>>>>>>>> for node creation. I guess this could either be supplied on the command line
>>>>>>>>> or discerned by reading the local domain 'domid' node.
>>>>>>>>
>>>>>>>> yes, it should be passed as command line option to QEMU
>>>>>>>
>>>>>>> I'm not sure I like the idea of a command line option for something
>>>>>>> which QEMU could discover for itself.
>>>>>>
>>>>>> That's fine too. I meant to say "yes, as far as I know the toolstack
>>>>>> passes the domid to QEMU as a command line option today".
>>>>>
>>>>> The -xen-domid argument on the QEMU command line today is the *guest*
>>>>> domain ID, not the domain ID in which QEMU itself is running.
>>>>>
>>>>> Or were you thinking of something different?
>>>>
>>>> Ops, you are right and I understand your comment better now. The backend
>>>> domid is not on the command line but it should be discoverable (on
>>>> xenstore if I remember right).
>>>
>>> Yes, it is just "~/domid". I'll add a function that reads it.
>> Just a quick question to QEMU folks: is it better to add a global
>> variable where we will store own Domain ID or it will be okay to read
>> domid from Xenstore every time we need it?
>> If global variable variant is better, what is proffered place to
>> define
>> this variable? system/globals.c ?
>>
>
> Actually... is it possible for QEMU just to use a relative path for
> the backend nodes? That way it won't need to know it's own domid, will
> it?
Well, it is possible to use relative path, AFAIK, linux-based backends
are doing exactly this. But problem is with xenstore_mkdir() function,
which requires domain id to correctly set owner when it causes call to
set_permissions().
As David said, architecturally it will be better to get rid of
xenstore_mkdir() usage, because it is used by legacy backends only. But
to do this, someone needs to convert legacy backends to use newer API. I
have no capacity to do this right now, so I implemented a contained
solution:
static int xenstore_read_own_domid(unsigned int *domid)
in xen_pvdev.c. I believe, this new function will be removed along with
whole xen_pvdev.c when there will be no legacy backends left.
--
WBR, Volodymyr
next prev parent reply other threads:[~2023-11-23 11:54 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-21 22:10 [PATCH v2 0/6] xen-arm: add support for virtio-pci Volodymyr Babchuk
2023-11-21 22:10 ` [PATCH v2 1/6] hw/xen: Set XenBackendInstance in the XenDevice before realizing it Volodymyr Babchuk
2023-11-22 15:54 ` Paul Durrant
2023-11-22 17:05 ` Paul Durrant
2023-11-22 22:44 ` Woodhouse, David
2023-11-22 22:44 ` Woodhouse, David via
2023-11-22 23:49 ` Volodymyr Babchuk
2023-11-22 23:55 ` Woodhouse, David
2023-11-22 23:55 ` Woodhouse, David via
2023-11-22 22:56 ` Volodymyr Babchuk
2023-11-22 23:04 ` David Woodhouse
2023-11-23 9:29 ` Paul Durrant
2023-11-21 22:10 ` [PATCH v2 3/6] xen: xenstore: add possibility to preserve owner Volodymyr Babchuk
2023-11-22 17:07 ` Paul Durrant
2023-11-22 22:28 ` Stefano Stabellini
2023-11-22 23:01 ` David Woodhouse
2023-11-22 23:03 ` Volodymyr Babchuk
2023-11-23 1:19 ` Volodymyr Babchuk
2023-11-21 22:10 ` [PATCH v2 2/6] xen: backends: touch some XenStore nodes only if device Volodymyr Babchuk
2023-11-22 11:07 ` Philippe Mathieu-Daudé
2023-11-22 22:49 ` Volodymyr Babchuk
2023-11-22 23:19 ` David Woodhouse
2023-11-22 17:03 ` Paul Durrant
2023-11-22 22:46 ` Woodhouse, David
2023-11-22 22:46 ` Woodhouse, David via
2023-11-22 22:50 ` Volodymyr Babchuk
2023-11-21 22:10 ` [PATCH v2 5/6] xen_arm: Set mc->max_cpus to GUEST_MAX_VCPUS in xen_arm_init() Volodymyr Babchuk
2023-11-22 11:10 ` Philippe Mathieu-Daudé
2023-11-24 12:04 ` Igor Mammedov
2023-11-21 22:10 ` [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a directory Volodymyr Babchuk
2023-11-22 17:11 ` Paul Durrant
2023-11-22 22:29 ` Stefano Stabellini
2023-11-22 23:03 ` David Woodhouse
2023-11-22 23:09 ` Stefano Stabellini
2023-11-22 23:11 ` David Woodhouse
2023-11-22 23:20 ` Stefano Stabellini
2023-11-22 23:46 ` Volodymyr Babchuk
2023-11-23 0:07 ` Volodymyr Babchuk
2023-11-23 9:28 ` Paul Durrant
2023-11-23 10:45 ` David Woodhouse
2023-11-23 11:43 ` Volodymyr Babchuk
2023-11-23 11:51 ` David Woodhouse
2023-11-23 11:54 ` Volodymyr Babchuk [this message]
2023-11-23 11:57 ` David Woodhouse
2023-11-23 12:17 ` Volodymyr Babchuk
2023-11-23 12:27 ` David Woodhouse
2023-11-23 12:54 ` Paul Durrant
2023-11-24 0:24 ` Volodymyr Babchuk
2023-11-24 12:56 ` Alex Bennée
2023-11-21 22:10 ` [PATCH v2 6/6] xen_arm: Add virtual PCIe host bridge support Volodymyr Babchuk
2023-11-22 22:39 ` Stefano Stabellini
2023-11-22 23:44 ` Vikram Garhwal
2023-11-23 0:11 ` Volodymyr Babchuk
2023-11-24 12:30 ` Igor Mammedov
2023-11-24 15:47 ` Volodymyr Babchuk
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=87bkbky9bb.fsf@epam.com \
--to=volodymyr_babchuk@epam.com \
--cc=Oleksandr_Tyshchenko@epam.com \
--cc=anthony.perard@citrix.com \
--cc=dwmw2@infradead.org \
--cc=julien@xen.org \
--cc=paul@xen.org \
--cc=qemu-devel@nongnu.org \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.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.