[ANNOUNCE] TCM/LIO v4.0.0-rc3 for 2.6.36-rc3

From: Nicholas A. Bellinger
Date: Sun Aug 29 2010 - 20:22:24 EST


Greetings all,

I am very pleased to announce that TCM/LIO v4.0.0-rc3 for the 2.6.36-rc3 kernel
has been pushed into lio-core-2.6.git/lio-4.0. Along with the numerous bugfixes
listed in the shortlog below, the main cleanups and features since v4.0.0-rc2
was released earlier this month include:

*) Major cleanups of TCM/pSCSI struct scsi_device registration code (hch assist)
*) Remove legacy linux_blockdevice_[claim,release]() usage (hch assist)
*) Fix struct se_mem memory mapping across N struct se_task for
max_sectors=255 backstores
*) Conversion of TCM Core to follow mainline convention and use
include/linux/scatterlist.h wrappers wherever possible.
*) Add proper 4k -> 512 block_size conversion for TCM/IBLOCK (jaxboe assist)
*) New tcm_mod_builder.py script and mini-HOWTO for generating new
TCM fabric modules with functional+runnable configfs skeletons
*) TCM level SYNCHRONIZE_CACHE_* emulation w/ support for WriteCache and
FUA WRITE emulation with FILEIO and IBLOCK subsystem plugins. (hch assist)

A big thanks (again) to hch, jaxboe, and everyone involved in this release
for their very gracious help and feedback!

Best,

--nab

Nicholas Bellinger (33):
tcm: Add __module_get() and module_put() calls to se_core_add_hba()
and se_core_shutdown_hba()
tcm_loop: Fix NULL pointer dereference in tcm_loop_queuecommand()
tcm: Make se_core_add_hba() use try_module_get() for struct
se_subsystem_api->sub_owner
tcm: Fix non-existent TPG LUN OOPs in target_fabric_mappedlun_link()
tcm: Merge struct se_subsystem_spc into struct se_subsystem_api and
convert subsystem plugins
tcm/fileio: Remove fd_seek() usage for local scope loff_t usase
tcm/pscsi: Remove pscsi_create_virtdevice_from_fd() usage
tcm/pscsi: Remove legacy LINUX_VPD_PAGE_CHECK logic
tcm/pscsi: Remove internal TYPE_DISK
linux_blockdevice_[claim,release]() usage
tcm/iblock: Fix NULL struct iblock_dev->ibd_bd case in
iblock_free_device()
tcm/pscsi: Fix NULL struct pscsi_dev_virt->pdv_bd case for TYPE_DISK
in pscsi_free_device()
tcm/pscsi: Remove remaining struct scsi_disk references
tcm/ramdisk: Fix NULL pointer dereference in rd_DIRECT_free_DMA()
tcm: Convert transport_map_sg_to_mem() to use sg_next()
tcm: Remove *task_offset_in parameter from
transport_generic_get_cdb_count()
tcm: Minor naming cleanup for dev_obj_do_se_mem_map()
tcm: Remove task_offset parameter from transport_map_sg_to_mem()
tcm: Make transport_calc_sg_num() properly handle task_offset
tcm: Make transport_map_mem_to_sg() properly handle task_offset
tcm: Remove legacy transport_map_mem_to_mem()
tcm: Remove remaining code out of target_core_seobj.c
tcm: Remove legacy struct se_lun->lun_type_ptr
tcm/iblock: Add SCSI LBA -> block_lba conversion for non 512-byte
block_size
tcm/iblock: Convert iblock_map_task_SG() to use for_each_sg()
tcm: Add Documentation/target/tcm_mod_builder.py script and
mini-HOWTO
tcm: Add WriteCache and FUADPO infrastructure and attributes
tcm: Add SYNCHRONIZE_CACHE* CDB infrastructure and emulation
tcm: Add WriteCache and DPOFUA emulation bits to MODE_SENSE
tcm/fileio: Add WriteCache and Forced Unit Access WRITE emulation
tcm/fileio: Remove struct se_subsystem_api->do_sync_cache() usage
tcm: Remove struct se_subsystem_api->do_sync_cache()
tcm/iblock: Add WriteCache and Forced Unit Access WRITE emulation
lio-core v4.0.0-rc3

Documentation/target/tcm_mod_builder.py | 1039 ++++++++++++++++++++++
Documentation/target/tcm_mod_builder.txt | 138 +++
drivers/target/Kbuild | 1 -
drivers/target/lio-target/iscsi_target_mib.c | 8 +-
drivers/target/lio-target/iscsi_target_version.h | 2 +-
drivers/target/target_core_alua.c | 6 +-
drivers/target/target_core_configfs.c | 17 +-
drivers/target/target_core_device.c | 170 ++++-
drivers/target/target_core_fabric_configfs.c | 14 +-
drivers/target/target_core_file.c | 249 ++++--
drivers/target/target_core_hba.c | 29 +
drivers/target/target_core_iblock.c | 219 ++++--
drivers/target/target_core_iblock.h | 1 +
drivers/target/target_core_mib.c | 8 +-
drivers/target/target_core_pscsi.c | 484 +---------
drivers/target/target_core_pscsi.h | 1 +
drivers/target/target_core_rd.c | 47 +-
drivers/target/target_core_seobj.c | 215 -----
drivers/target/target_core_seobj.h | 47 -
drivers/target/target_core_stgt.c | 32 +-
drivers/target/target_core_tpg.c | 15 +-
drivers/target/target_core_transport.c | 758 +++++++++-------
drivers/target/tcm_loop/tcm_loop_fabric_scsi.c | 11 +-
include/target/target_core_base.h | 14 +-
include/target/target_core_device.h | 10 +
include/target/target_core_transport.h | 99 ++-
26 files changed, 2336 insertions(+), 1298 deletions(-)
create mode 100755 Documentation/target/tcm_mod_builder.py
create mode 100644 Documentation/target/tcm_mod_builder.txt
delete mode 100644 drivers/target/target_core_seobj.c
delete mode 100644 drivers/target/target_core_seobj.h


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/