]> git.baikalelectronics.ru Git - kernel.git/commit
target: Add transport_reset_sgl_orig() for COMPARE_AND_WRITE
authorNicholas Bellinger <nab@daterainc.com>
Tue, 20 Aug 2013 17:45:16 +0000 (10:45 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Mon, 9 Sep 2013 21:29:33 +0000 (14:29 -0700)
commit849e339b60498b0b9a2c7a4eb76b465afd36d133
tree685709343f949e5cc858e8657dba5d2bd79d91ca
parent18f2aa2cd529903416c3b1297e593ea8338b28ba
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>
drivers/target/target_core_transport.c
include/target/target_core_base.h