On 9/2/21 4:38 PM, Linus Torvalds wrote: > On Thu, Sep 2, 2021 at 9:50 AM James Bottomley > <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote: >> >> We also picked up a non trivial conflict with the already upstream >> block tree in st.c > > Hmm. Resolving that conflict, I just reacted to how the st.c code > passes in a NULL gendisk to scsi_ioctl() and then on to > blk_execute_rq(). > > Just checking that was fine, and I notice how *many* places do that. > > Should the blk_execute_rq() function even take that "struct gendisk > *bd_disk" argument at all? > > Maybe the right thing to do would be for the people who care to just > set rq->rq_disk before starting the request.. > > But I guess it's traditional, and nobody cares. We could certainly just do that. There are other things that are required set in the request before that call, things like the queue, but those get naturally set by the request allocation. Hence it would not be _that_ different to require disk being set. Seems safer to just keep it the way it is and pass in the reference, even if it ends up being NULL in probably 50% of the cases. -- Jens Axboe