target: Add transport_reset_sgl_orig() for COMPARE_AND_WRITE
After COMPARE_AND_WRITE completes it's comparision, the WRITE payload SGLs head expect to be updated to point from the verify instance of user data, to the write instance of user data. So for this special case, add transport_reset_sgl_orig() usage within transport_free_pages() and add se_cmd->t_data_[sg,nents]_orig members to save the original assignments. Cc: Christoph Hellwig <hch@lst.de> Cc: Hannes Reinecke <hare@suse.de> Cc: Martin Petersen <martin.petersen@oracle.com> Cc: Chris Mason <chris.mason@fusionio.com> Cc: James Bottomley <JBottomley@Parallels.com> Cc: Nicholas Bellinger <nab@linux-iscsi.org> Signed-off-by: Nicholas Bellinger <nab@daterainc.com>
This commit is contained in:
committed by
Nicholas Bellinger
parent
8cefe07b5e
commit
47e459e622
@@ -478,7 +478,9 @@ struct se_cmd {
|
||||
struct work_struct work;
|
||||
|
||||
struct scatterlist *t_data_sg;
|
||||
struct scatterlist *t_data_sg_orig;
|
||||
unsigned int t_data_nents;
|
||||
unsigned int t_data_nents_orig;
|
||||
void *t_data_vmap;
|
||||
struct scatterlist *t_bidi_data_sg;
|
||||
unsigned int t_bidi_data_nents;
|
||||
|
||||
Reference in New Issue
Block a user