Messages in this thread | | | Date | Tue, 20 Aug 2013 23:35:24 -0700 | From | Christoph Hellwig <> | Subject | Re: [PATCH 6/9] target: Allow sbc_ops->execute_rw() to accept SGLs + data_direction |
| |
On Tue, Aug 20, 2013 at 08:07:57PM +0000, Nicholas A. Bellinger wrote: > From: Nicholas Bellinger <nab@daterainc.com> > > COMPARE_AND_WRITE expects to be able to send down a DMA_FROM_DEVICE > to obtain the necessary READ payload for comparision against the > first half of the WRITE payload containing the verify user data. > > Currently virtual backends expect to internally reference SGLs, > SGL nents, and data_direction, so change IBLOCK, FILEIO and RD > sbc_ops->execute_rw() to accept this values as function parameters. > > Also add the sbc_execute_rw() wrapper to handle the special case > for the initial COMPARE_AND_WRITE DMA_FROM_DEVICE -> READ I/O > submission.
I don't like the way this is structured with the new method. It seems like we should just pass the sgl and associated data to execute_cmd and have the read vs write logic driven by command code, using generic flags instead of specificly checking for compare and write.
| |