On 9/26/25 00:02, Johannes Thumshirn wrote:
> Split do_blk_trace_setup into two functions, this is done to prepare for
> an incoming new BLKTRACESETUP2 ioctl(2) which can receive extended
> parameters form user-space.

s/form/from

> 
> Also move the size verification logic to the callers.
> 
> Signed-off-by: Johannes Thumshirn <[email protected]>


> @@ -593,17 +581,39 @@ static int do_blk_trace_setup(struct request_queue *q, 
> char *name, dev_t dev,
>       debugfs_create_file("dropped", 0444, dir, bt, &blk_dropped_fops);
>       debugfs_create_file("msg", 0222, dir, bt, &blk_msg_fops);
>  
> -     bt->rchan = relay_open("trace", dir, buts->buf_size,
> -                             buts->buf_nr, &blk_relay_callbacks, bt);
> +     bt->rchan = relay_open("trace", dir, buf_size, buf_nr,
> +                            &blk_relay_callbacks, bt);
>       if (!bt->rchan)
>               goto err;
>  
> +     blk_trace_setup_lba(bt, bdev);
> +
> +     return bt;
> +
> +err:
> +     if (ret)
> +             blk_trace_free(q, bt);

I do not think that the "if (ret)" is needed here.

> +
> +     return ERR_PTR(ret);
> +}

With that fixed,

Reviewed-by: Damien Le Moal <[email protected]>

-- 
Damien Le Moal
Western Digital Research

Reply via email to