On 7/13/23 21:29, Eric Blake wrote:
> The documentation has claimed since commit 6f4dcdab that any
> completion callback will be called exactly once; but this is not
> consistent with the code: if nbd_aio_* itself returns an error, then
> nothing is queued and the user does not need to wait for a
On 7/13/23 21:29, Eric Blake wrote:
> Enhance the regression tests to prove that the completion callback is
> not reached if the aio call itself reports an error; only the .free
> callback is guaranteed.
>
> Also add some asserts to the library code that may aid future readers
> in seeing how we
On Thu, Jul 13, 2023 at 07:10:46PM +0200, Laszlo Ersek wrote:
> Currently we #define NETWORK_ADDRESS as "169.254.0.0". That's a bug in
> libguestfs, but it's been invisible -- thus far it's been canceled out by
> *independent* bugs in *both* QEMU and libvirt.
>
> (1) With the direct backend, the
For the series:
Acked-by: Richard W.M. Jones
This definitely matches my expectations, which were only that .free
functions are guaranteed to be called (and the reason why they exist
at all).
Laszlo has some good suggestions for tightening up the language of
patch 1.
Rich.
--
Richard
On 7/14/23 11:40, Richard W.M. Jones wrote:
> On Thu, Jul 13, 2023 at 07:10:47PM +0200, Laszlo Ersek wrote:
>> We generate the element on libvirt 3.8.0+ already.
>>
>> For selecting passt rather than SLIRP, we only need to insert the child
>> element . Make that child element conditional on
>>
On Fri, Jul 14, 2023 at 03:22:06PM +0200, Laszlo Ersek wrote:
> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2184967
> v1: https://listman.redhat.com/archives/libguestfs/2023-July/031984.html
>
> V2 implements small updates; the cumulative v1->v2 diff is just
>
> > diff --git
On Thu, Jul 13, 2023 at 09:55:00AM -0500, Eric Blake wrote:
> On Thu, Jul 13, 2023 at 09:36:58AM -0500, Eric Blake wrote:
> > > The user needs a way to know if an error occurred. So the completion
> > > callback must be called if the asynchronous function did not fail
> > > (returned
> > > 0). If
On Thu, Jul 13, 2023 at 07:10:49PM +0200, Laszlo Ersek wrote:
> There's another reason for separating sockdir from tmpdir, beyond "shorter
> pathnames needed": permissions. For example, passt drops privileges such
> that it cannot access "/tmp", and that restricts both the unix domain
> socket and
On 7/14/23 11:53, Richard W.M. Jones wrote:
> On Thu, Jul 13, 2023 at 07:10:52PM +0200, Laszlo Ersek wrote:
>> On QEMU 7.2.0+, if "passt" is available, ask QEMU for passt ("stream")
>> rather than SLIRP ("user") networking.
>>
>> For this, we need to run passt ourselves. Given that passt
On 7/14/23 16:13, Eric Blake wrote:
> On Fri, Jul 14, 2023 at 09:13:42AM +0200, Laszlo Ersek wrote:
>> On 7/13/23 21:29, Eric Blake wrote:
>>> The documentation has claimed since commit 6f4dcdab that any
>>> completion callback will be called exactly once; but this is not
>>> consistent with the
On 7/14/23 15:32, Richard W.M. Jones wrote:
> On Fri, Jul 14, 2023 at 03:22:06PM +0200, Laszlo Ersek wrote:
>> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2184967
>> v1: https://listman.redhat.com/archives/libguestfs/2023-July/031984.html
>>
>> V2 implements small updates; the cumulative
On Thu, Jul 13, 2023 at 07:10:47PM +0200, Laszlo Ersek wrote:
> We generate the element on libvirt 3.8.0+ already.
>
> For selecting passt rather than SLIRP, we only need to insert the child
> element . Make that child element conditional on
> libvirt 9.0.0+, plus "passt --help" being
On Thu, Jul 13, 2023 at 07:10:48PM +0200, Laszlo Ersek wrote:
> Commit 55202a4d49a1 ("New API: get-sockdir", 2016-02-03) added identical
> language to "fish/guestfish.pod" and "src/guestfs.pod", including an
> internal link L. That's appropriate for
> "fish/guestfish.pod", but the same API
On 7/14/23 11:42, Richard W.M. Jones wrote:
> On Thu, Jul 13, 2023 at 07:10:49PM +0200, Laszlo Ersek wrote:
>> There's another reason for separating sockdir from tmpdir, beyond "shorter
>> pathnames needed": permissions. For example, passt drops privileges such
>> that it cannot access "/tmp", and
On Fri, Jul 14, 2023 at 12:41:52PM +0200, Laszlo Ersek wrote:
> On 7/14/23 11:29, Richard W.M. Jones wrote:
> > On Thu, Jul 13, 2023 at 07:10:45PM +0200, Laszlo Ersek wrote:
> >> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2184967
> >>
> >> This series makes both backends prefer passt
On Fri, Jul 14, 2023 at 09:13:42AM +0200, Laszlo Ersek wrote:
> On 7/13/23 21:29, Eric Blake wrote:
> > The documentation has claimed since commit 6f4dcdab that any
> > completion callback will be called exactly once; but this is not
> > consistent with the code: if nbd_aio_* itself returns an
On Thu, Jul 13, 2023 at 07:10:51PM +0200, Laszlo Ersek wrote:
> Introduce a small function for creating pathnames for PID files.
>
> guestfs_int_make_pid_path() is something of an amalgamation of
> guestfs_int_make_temp_path() [1] and guestfs_int_create_socketname() [2]:
>
> - it creates a
On Thu, Jul 13, 2023 at 07:10:50PM +0200, Laszlo Ersek wrote:
> Consider the following inverted call tree (effectively a dependency tree
> -- callees are at the top and near the left margin):
>
> lazy_make_tmpdir() [lib/tmpdirs.c]
> guestfs_int_lazy_make_tmpdir()
On QEMU 7.2.0+, if "passt" is available, ask QEMU for passt ("stream")
rather than SLIRP ("user") networking.
For this, we need to run passt ourselves. Given that passt daemonizes by
default, start it with our traditional function guestfs_int_cmd_run(). Ask
passt to save its PID file, because in
We generate the element on libvirt 3.8.0+ already.
For selecting passt rather than SLIRP, we only need to insert the child
element . Make that child element conditional on
libvirt 9.0.0+, plus "passt --help" being executable.
For the latter, place the new helper function
There's another reason for separating sockdir from tmpdir, beyond "shorter
pathnames needed": permissions. For example, passt drops privileges such
that it cannot access "/tmp", and that restricts both the unix domain
socket and the PID file of passt.
Bugzilla:
Introduce a small function for creating pathnames for PID files.
guestfs_int_make_pid_path() is something of an amalgamation of
guestfs_int_make_temp_path() [1] and guestfs_int_create_socketname() [2]:
- it creates a pathname under sockdir, like [2],
- it uses the handle's unique counter, like
Commit 55202a4d49a1 ("New API: get-sockdir", 2016-02-03) added identical
language to "fish/guestfish.pod" and "src/guestfs.pod", including an
internal link L. That's appropriate for
"fish/guestfish.pod", but the same API description is generated with a
different anchor for "src/guestfs.pod". Adapt
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2184967
v1: https://listman.redhat.com/archives/libguestfs/2023-July/031984.html
V2 implements small updates; the cumulative v1->v2 diff is just
> diff --git a/lib/launch-direct.c b/lib/launch-direct.c
> index 8d6ad025a4e1..cdfd25a9afed
Currently we #define NETWORK_ADDRESS as "169.254.0.0". That's a bug in
libguestfs, but it's been invisible -- thus far it's been canceled out by
*independent* bugs in *both* QEMU and libvirt.
(1) With the direct backend, the current definition of NETWORK_ADDRESS
results in the following QEMU
Consider the following inverted call tree (effectively a dependency tree
-- callees are at the top and near the left margin):
lazy_make_tmpdir() [lib/tmpdirs.c]
guestfs_int_lazy_make_tmpdir()[lib/tmpdirs.c]
guestfs_int_make_temp_path()[lib/tmpdirs.c]
On 7/14/23 11:29, Richard W.M. Jones wrote:
> On Thu, Jul 13, 2023 at 07:10:45PM +0200, Laszlo Ersek wrote:
>> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2184967
>>
>> This series makes both backends prefer passt over slirp for appliance
>> networking, if QEMU or libvirt (respectively)
On Thu, Jul 13, 2023 at 07:10:45PM +0200, Laszlo Ersek wrote:
> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2184967
>
> This series makes both backends prefer passt over slirp for appliance
> networking, if QEMU or libvirt (respectively) is recent enough, and
> passt is installed.
>
>
On Thu, Jul 13, 2023 at 07:10:52PM +0200, Laszlo Ersek wrote:
> On QEMU 7.2.0+, if "passt" is available, ask QEMU for passt ("stream")
> rather than SLIRP ("user") networking.
>
> For this, we need to run passt ourselves. Given that passt daemonizes by
> default, start it with our traditional
On Fri, Jul 14, 2023 at 12:29:26PM +0200, Laszlo Ersek wrote:
> On 7/14/23 11:42, Richard W.M. Jones wrote:
> > On Thu, Jul 13, 2023 at 07:10:49PM +0200, Laszlo Ersek wrote:
> >> There's another reason for separating sockdir from tmpdir, beyond "shorter
> >> pathnames needed": permissions. For
On Fri, Jul 14, 2023 at 12:18:21PM +0200, Laszlo Ersek wrote:
> On 7/14/23 11:40, Richard W.M. Jones wrote:
> > On Thu, Jul 13, 2023 at 07:10:47PM +0200, Laszlo Ersek wrote:
> >> We generate the element on libvirt 3.8.0+ already.
> >>
> >> For selecting passt rather than SLIRP, we only need to
31 matches
Mail list logo