rnbd-clt: don't free rsp in msg_open_conf for map scenario
authorGuoqing Jiang <guoqing.jiang@linux.dev>
Wed, 6 Jul 2022 13:31:46 +0000 (21:31 +0800)
committerJens Axboe <axboe@kernel.dk>
Wed, 6 Jul 2022 13:38:40 +0000 (07:38 -0600)
commit953d0c1b1d29c75221ae2d14a0f937f2e0f90592
tree812aca0c1b6c39cad201b5a19337acde731dab49
parent43a20e93310ec218550dcdda0ae79dcd91dbd880
rnbd-clt: don't free rsp in msg_open_conf for map scenario

For map scenario, rsp is freed in two places:

1. msg_open_conf frees rsp if rtrs_clt_request returns 0.

2. Otherwise, rsp is freed by the call sites of rtrs_clt_request.

Now, We'd like to control full lifecycle of rsp in rnbd_clt_map_device,
with that, it is feasible to pass rsp to rnbd_client_setup_device in
next commit.

For 1, it is possible to free rsp from the caller of send_usr_msg
because of the synchronization of iu->comp.wait. And we put iu later
in rnbd_clt_map_device to ensure order of release rsp and iu.

Acked-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
Link: https://lore.kernel.org/r/20220706133152.12058-3-guoqing.jiang@linux.dev
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/rnbd/rnbd-clt.c