[PATCH 0/8] chardev/mux: implement frontend detach

Roman Penyaev posted 8 patches 1 month, 1 week ago
There is a newer version of this series
chardev/char-fe.c          | 13 ++----
chardev/char-mux.c         | 88 ++++++++++++++++++++++++++++----------
chardev/char.c             |  2 +-
chardev/chardev-internal.h | 16 ++++---
include/chardev/char-fe.h  |  2 +-
tests/unit/test-char.c     | 24 ++++++++++-
6 files changed, 103 insertions(+), 42 deletions(-)
[PATCH 0/8] chardev/mux: implement frontend detach
Posted by Roman Penyaev 1 month, 1 week ago
Frontend device can be detached in run-time, which can lead to a
"Chardev 'MUX' is busy" error (see the last patch with the test case
implementation). This series implements frontend detach for the
multiplexer based on bitset, which provides the ability to attach or
detach frontend devices in any order.

Also first patches do some refactoring the purpose of which is to make
integer unsigned where possible (such as sizes or lengths).

Roman Penyaev (8):
  chardev/char: fix qemu_chr_is_busy() check
  chardev/chardev-internal: remove unused `max_size` struct member
  chardev/mux: use bool type for `linestart` and `term_got_escape`
  chardev/mux: convert size members to unsigned int
  chardev/mux: introduce `mux_chr_attach_frontend() call
  chardev/mux: switch mux frontends management to bitset
  chardev/mux: implement detach of frontends from mux
  tests/unit/test-char: implement a few mux remove test cases

 chardev/char-fe.c          | 13 ++----
 chardev/char-mux.c         | 88 ++++++++++++++++++++++++++++----------
 chardev/char.c             |  2 +-
 chardev/chardev-internal.h | 16 ++++---
 include/chardev/char-fe.h  |  2 +-
 tests/unit/test-char.c     | 24 ++++++++++-
 6 files changed, 103 insertions(+), 42 deletions(-)

Signed-off-by: Roman Penyaev <r.peniaev@gmail.com>
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: qemu-devel@nongnu.org

-- 
2.34.1


Re: [PATCH 0/8] chardev/mux: implement frontend detach
Posted by Marc-André Lureau 1 month, 1 week ago
Hi

On Mon, Oct 14, 2024 at 3:47 PM Roman Penyaev <r.peniaev@gmail.com> wrote:

> Frontend device can be detached in run-time, which can lead to a
> "Chardev 'MUX' is busy" error (see the last patch with the test case
> implementation). This series implements frontend detach for the
> multiplexer based on bitset, which provides the ability to attach or
> detach frontend devices in any order.
>
> Also first patches do some refactoring the purpose of which is to make
> integer unsigned where possible (such as sizes or lengths).
>
> Roman Penyaev (8):
>   chardev/char: fix qemu_chr_is_busy() check
>   chardev/chardev-internal: remove unused `max_size` struct member
>   chardev/mux: use bool type for `linestart` and `term_got_escape`
>   chardev/mux: convert size members to unsigned int
>   chardev/mux: introduce `mux_chr_attach_frontend() call
>   chardev/mux: switch mux frontends management to bitset
>   chardev/mux: implement detach of frontends from mux
>   tests/unit/test-char: implement a few mux remove test cases
>
>  chardev/char-fe.c          | 13 ++----
>  chardev/char-mux.c         | 88 ++++++++++++++++++++++++++++----------
>  chardev/char.c             |  2 +-
>  chardev/chardev-internal.h | 16 ++++---
>  include/chardev/char-fe.h  |  2 +-
>  tests/unit/test-char.c     | 24 ++++++++++-
>  6 files changed, 103 insertions(+), 42 deletions(-)
>
> Signed-off-by: Roman Penyaev <r.peniaev@gmail.com>
> Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>
> Cc: qemu-devel@nongnu.org


lgtm, with some pre-conditions that could be improved I belive

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

>
>
> --
> 2.34.1
>
>
>

-- 
Marc-André Lureau