Re: [PATCH 0/7] RFC: remove struct se_task

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

 



On Tue, 2012-04-24 at 00:25 -0400, Christoph Hellwig wrote: 
> This is the basic removal of struct se_task.  It does take BIDI support
> into a ccount a bit, but doesn't really provide working support for it due
> to lack of actually testing it.  It also doesn't attempt many cleanups
> that are now possible in the I/O submission, command completon and EH
> code, but even without that it archives a pretty impressive ~650 LOC
> removal.

Hey Christoph,

Apologies for the delayed followup on nice progress you've been making
on this series.. So wrt to a BIDI test case, Tomo-san's sgv4_xdwriteread
tool is now back online here:

https://github.com/fujita/sgv4-tools

Because of the nature of the current sgv4_xdwriteread zero compare op
with tcm_Loop w/ transport_generic_map_mem_to_cmd() handling, it looks
like we are still doing the correct SGL assignments for struct scsi_cmnd
to handle incoming write payload (but not actually dispatch said payload
to backend) and queue outgoing read payload back up LLD -> back out to
bsg..

root@tifa:/usr/src/sgv4-tools.git# ./sgv4_xdwriteread /dev/bsg/13\:0\:1\:0 
XDWRITEREAD_10 driver:0, transport:0, device:0, din_resid: 0, dout_resid: 0
root@tifa:/usr/src/sgv4-tools.git# ./sgv4_xdwriteread -e /dev/bsg/13\:0\:1\:0 
XDWRITEREAD_32 driver:0, transport:0, device:0, din_resid: 0, dout_resid: 0

[140936.156656] tcm_loop_queuecommand() 13:1:0:0 got CDB: 0x53 scsi_buf_len: 8192
[140936.156669] Returning block_size: 512, sectors: 16 == 8192 for iblock object
[140936.156672] Allocated se_ordered_id: 5269 for Task Attr: 0x20 on iblock
[140936.156896] Incremented dev->dev_cur_ordered_id: 5269 for SIMPLE: 5269
[140936.156929] tcm_loop_queue_data_in() called for scsi_cmnd: ffff88019af50400 cdb: 0x53
[140941.332140] tcm_loop_queuecommand() 13:1:0:0 got CDB: 0x7f scsi_buf_len: 8192
[140941.332148] Returning block_size: 512, sectors: 16 == 8192 for iblock object
[140941.332150] Allocated se_ordered_id: 5270 for Task Attr: 0x20 on iblock
[140941.332394] Incremented dev->dev_cur_ordered_id: 5270 for SIMPLE: 5270
[140941.332426] tcm_loop_queue_data_in() called for scsi_cmnd: ffff88019af51300 cdb: 0x7f

FYI, the BIDI logic this series does remove was originally a hack to
support sending XDWRITEREAD_* passthrough into scsi_debug LLD using
se_task, and logically separate from how transport_xor_callback()
emulation is currently implemented for the virtual backend case..

So that said, I'm fine with both series of patches to go ahead and
fully remove legacy usage of se_task from within target core + device
backends, and only support BIDI to virtual backend export.

This will certainly more testing to shake out other potential
regressions, but looks reasonable enough to go for-next if there are no
other objections.

Nice work Christoph!

--nab 

--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux