lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Fri, 23 Sep 2022 21:58:07 +0800
From:   Ming Lei <ming.lei@...hat.com>
To:     ZiyangZhang <ZiyangZhang@...ux.alibaba.com>
Cc:     axboe@...nel.dk, xiaoguang.wang@...ux.alibaba.com,
        linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
        joseph.qi@...ux.alibaba.com
Subject: Re: [RESEND PATCH V5 7/7] Documentation: document ublk user recovery
 feature

On Fri, Sep 23, 2022 at 02:15:05PM +0800, ZiyangZhang wrote:
> Add documentation for user recovery feature of ublk subsystem.
> 
> Signed-off-by: ZiyangZhang <ZiyangZhang@...ux.alibaba.com>
> ---
>  Documentation/block/ublk.rst | 32 ++++++++++++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
> 
> diff --git a/Documentation/block/ublk.rst b/Documentation/block/ublk.rst
> index 2122d1a4a541..c3dde087e601 100644
> --- a/Documentation/block/ublk.rst
> +++ b/Documentation/block/ublk.rst
> @@ -144,6 +144,38 @@ managing and controlling ublk devices with help of several control commands:
>    For retrieving device info via ``ublksrv_ctrl_dev_info``. It is the server's
>    responsibility to save IO target specific info in userspace.
>  
> +- ``UBLK_CMD_START_USER_RECOVERY``
> +
> +  This command is valid if ``UBLK_F_USER_RECOVERY`` feature is enabled. This
> +  command is accepted after the old process has exited, ublk device is quiesced
> +  and ``/dev/ublkc*`` is closed. User should send this command before he starts
> +  a new process which opens ``/dev/ublkc*``. When this command returns, the
> +  ublk device is ready for the new process.
> +
> +- ``UBLK_CMD_END_USER_RECOVERY``
> +
> +  This command is valid if ``UBLK_F_USER_RECOVERY`` feature is enabled. This
> +  command is accepted after a new process has opened ``/dev/ublkc*`` and get
> +  all ublk queues be ready. When this command returns, ublk device is
> +  unquiesced and new I/O requests are passed to the new process.
> +
> +- user recovery feature description
> +
> +  Two new features are added for user recovery: ``UBLK_F_USER_RECOVERY`` and
> +  ``UBLK_F_USER_RECOVERY_REISSUE``.
> +
> +  With ``UBLK_F_USER_RECOVERY`` set, after one ubq_daemon(ublksrv io handler) is
> +  dying, ublk does not release ``/dev/ublkc*`` or ``/dev/ublkb*`` but requeues all

The above looks not accurate, the old ubq daemon has to release
/dev/ublkc*, and the new ubq daemon needs to re-open it, and
here I think it is fine to just mention /dev/ublkb* won't be
deleted during the whole recovery, or the device ID is kept,
and it is ublk server's responsibility to recover the device
context by its own knowledge.



thanks,
Ming

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ