RE: [PATCH v2 2/2] scsi: ufs-bsg: Allow reading descriptors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> >  static int ufs_bsg_verify_query_size(struct ufs_hba *hba,
> >  				     unsigned int request_len,
> > -				     unsigned int reply_len,
> > -				     int desc_len, enum query_opcode desc_op)
> > +				     unsigned int reply_len)
> >  {
> >  	int min_req_len = sizeof(struct ufs_bsg_request);
> >  	int min_rsp_len = sizeof(struct ufs_bsg_reply);
> >
> > -	if (desc_op == UPIU_QUERY_OPCODE_WRITE_DESC)
> > -		min_req_len += desc_len;
> > -
> 
> I think this calling convention cleanup should go into a ѕeparate
> prep patch with its own changelog.
Done

> 
> > +	descp = kzalloc(*desc_len, GFP_KERNEL);
> > +	if (!descp)
> > +		return -ENOMEM;
> > +
> > +	if (desc_op == UPIU_QUERY_OPCODE_WRITE_DESC)
> > +		sg_copy_to_buffer(job->request_payload.sg_list,
> > +				  job->request_payload.sg_cnt, descp,
> > +				  *desc_len);
> 
> So we always need to bounce buffer here?  Is there any good reason
> we can't pass through the sglist to the low-level functions? and
> share the low-level code used in ->queuecommand?
This is a device management command - there isn't really a data phase here,
And we are not using any component of queuecommand, 
Specifically not the scsi command sg list.

> 
> Also isn't this an ABI change for the write side?  Are we sure there
> are not existing users relying on it?   Is there an API document
> that needs to be updated?
Right. I did updated Documentation/scsi/ufs.txt.
It's in the beginning of the patch, you might have missed it.
I am counting that ufs-utils will be the first utility to use ufs-bsg, 
and it's waiting for this series to get accepted first.

> 
> Last but not least the commit log needs to be a lot more detailed.
Done.





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux