[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 2/4] qapi: Add passfd QMP command
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v2 2/4] qapi: Add passfd QMP command |
Date: |
Wed, 13 Jun 2012 14:47:29 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1 |
On 06/13/2012 02:25 PM, Corey Bryant wrote:
>> Also, getfd automatically closes a fd if an existing fdname is passed
>> again.
>> I don't think this is a good behavior, I think pass-fd should fail
>> instead
>> (note that we can't fix getfd though).
>>
>
> I agree. It makes sense to fail rather than blindly closing the
> existing fd. It can be closed explicitly with closefd if the user wants
> it closed.
Hmm - what happens if I do 'pass-fd name', learn that qemu is using fd
42, then do 'getfd name'? I silently wipe out fd 42 and replace it with
the new fd passed in by getfd. Which means my use of /dev/fd/42 will
now be broken.
Obviously that means that 'getfd' should NOT be used by any application
using 'pass-fd', and that libvirt should NOT be reusing names (I think
the latter is already true). But I agree that for back-compat we can't
get rid of the current (evil) semantics of a duplicated 'getfd'.
You may also want to mention that when using 'getfd' or 'pass-fd', there
are some commands (like migrate) that use the fd:name protocol, and that
a successful use of one of these commands implicitly closes the named
fd; but that all new uses of /dev/fd/nnn leave the fd open and an
explicit closefd must be used to avoid leaking indefinitely-opened fds
in qemu.
--
Eric Blake address@hidden +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- Re: [Qemu-devel] [PATCH v2 1/4] qapi: Convert getfd and closefd, (continued)
- Re: [Qemu-devel] [PATCH v2 1/4] qapi: Convert getfd and closefd, Luiz Capitulino, 2012/06/13
- Re: [Qemu-devel] [PATCH v2 1/4] qapi: Convert getfd and closefd, Corey Bryant, 2012/06/13
- Re: [Qemu-devel] [PATCH v2 1/4] qapi: Convert getfd and closefd, Luiz Capitulino, 2012/06/13
- Re: [Qemu-devel] [PATCH v2 1/4] qapi: Convert getfd and closefd, Eric Blake, 2012/06/13
- Re: [Qemu-devel] [PATCH v2 1/4] qapi: Convert getfd and closefd, Corey Bryant, 2012/06/13
[Qemu-devel] [PATCH v2 2/4] qapi: Add passfd QMP command, Corey Bryant, 2012/06/08
[Qemu-devel] [PATCH v2 3/4] osdep: Enable qemu_open to dup pre-opened fd, Corey Bryant, 2012/06/08
[Qemu-devel] [PATCH v2 4/4] block: Convert open calls to qemu_open, Corey Bryant, 2012/06/08
Re: [Qemu-devel] [PATCH v2 0/4] file descriptor passing using passfd, Corey Bryant, 2012/06/08
Re: [Qemu-devel] [PATCH v2 0/4] file descriptor passing using passfd, Kevin Wolf, 2012/06/13