5d53d43e3b
Check logical block provisioning unmap (lbpu) bit to check whether unmap is supported when constructing device. Change-Id: Id45f1e44b25af6377563cc217460e2d00dd205c0 Signed-off-by: Chunyang Hui <Chunyang.hui@intel.com> Reviewed-on: https://review.gerrithub.io/419974 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> |
||
---|---|---|
.. | ||
bdev_iscsi_rpc.c | ||
bdev_iscsi.c | ||
bdev_iscsi.h | ||
Makefile | ||
README |
This is a very rough initial cut at an SPDK iSCSI initiator bdev module. It only performs operations (connect, login, read cap, read/write). But this passes basic verify tests with bdevperf and with fio. Configuration file for iSCSI initiator is in the following format. Note that the "/0" at the end means "LUN 0". [iSCSI_Initiator] URL iscsi://127.0.0.1/iqn.2016-06.io.spdk:disk1/0 iSCSI0 To Do Items =========== 1) Create RPCs. 2) Use asynchronous polling for connect/login/disconnect. Read/write is already using libiscsi event framework. 3) Choose initiator name as part of RPC configuration. Currently this is hardcoded with g_initiator string. 4) Implement reset path. 5) Implement unmap path. 6) Use REPORT_LUNS to dynamically find all of the block devices attached to the iSCSI target node instead of hard-coding LUN 0. This will need some extra investigation in libiscsi. Currently the full URL is used which includes the LUN. Not sure yet how we can login to target node and then submit IO to different LUNs. Let's treat this as low priority for now.