Re: [PATCH v6 16/25] rnbd: client: private header with client structs and functions

Jinpu Wang
2020-01-07T17:09:40Z

On Thu, Jan 2, 2020 at 11:37 PM Bart Van Assche <bvanassche@acm.org> wrote:
>
> On 12/30/19 2:29 AM, Jack Wang wrote:
> > +struct rnbd_iu {
> > + union {
> > + struct request *rq; /* for block io */
> > + void *buf; /* for user messages */
> > + };
> > + struct rtrs_permit *permit;
> > + union {
> > + /* use to send msg associated with a dev */
> > + struct rnbd_clt_dev *dev;
> > + /* use to send msg associated with a sess */
> > + struct rnbd_clt_session *sess;
> > + };
> > + blk_status_t status;
> > + struct scatterlist sglist[BMAX_SEGMENTS];
> > + struct work_struct work;
> > + int errno;
> > + struct rnbd_iu_comp comp;
> > + atomic_t refcount;
> > +};
>
> This data structure includes both a blk_status_t and an errno value. Can
> these two members be combined into a single member?
I guess you were suggesting to remove status and use
errno_to_blk_status(iu->errno) to call into blk_mq_end_request.
will do.
>
> Thanks,
>
> Bart.
Thanks.