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 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 co
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 erro
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 a/lib/launc
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 c
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]
guestf
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
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: https://bugzilla.redhat.com/show_bug
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 [
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 guestfs_int_passt_runnab
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 comma
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 100644
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 ove
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 exam
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 ins
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 daemonizes
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) i
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 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
>> lib
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 Jones,
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 func
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 pathna
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()[lib/tmp
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 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 descript
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 executable.
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 c
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.
>
> M
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 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 t
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 c
31 matches
Mail list logo