547faf684d9115e6250b56897f03b73484813506
fix ALUA flag issue fix NNA flag issue fix fixed format sense data builder issue
gotgt 
Simple Golang SCSI Target framework, this includes two binaries, one is citadm which is command line to config and control, the other is citd which is a target daemon.
Build
$ mkdir -p $GOPATH/src/github.com/gostor/
$ cd $GOPATH/src/github.com/gostor/
$ git clone https://github.com/gostor/gotgt gotgt
$ cd gotgt
$ ./autogen.sh
$ ./configure
$ make
How to use
Currenty, there is lack of commands to operate the target and LU, however you can init the target/LU with config file in ~/.gotgt/config.json, such as:
{
"storages": [
{
"deviceID":1000,
"path":"file:/var/tmp/disk.img",
"online":true
}
],
"targets": {
"test-iscsi-target": {
"name": "iqn.2016-09.com.gotgt.gostor:example_tgt_0",
"luns": {"0": 1000}
}
}
}
Note: make sure file
/var/tmp/disk.imgis existed, you can useddto create it.
Test
You can test this with open-iscsi or libiscsi.
Roadmap
- Auth (p3)
- Login Process (p2)
- ACL (Access control) (p3)
- SCSI Task Management (p3)
- iSCSI Task Management (p3)
- SCSI Command Queue (p2)
- More SCSI commands
- SPC3/SAM2
- Page83(Inquiry) (orzhang, p1)
- Page0 (Inquiry) (orzhang, p1)
- Define Device UUID
- More SCSI flags (carmark, p1)
- Read8,16 (carmark, p1)
- Verify (carmark, p1)
- Support
Target GroupandTarget Port(p3)
- Refactor (carmark, p1)
- Command Line (carmark, p1)
- More Backstore Plugins(such as
cephandraw device) (orzhang, p1) - Redirect iSCSI Target (orzhang, p2)
- Homepage (p3)
- More test cases (p2)
- Docker image (p3)
Contributing
Want to help build gotgt? Check out our contributing documentation.
Description
Languages
Go
96.1%
Shell
3.5%
Dockerfile
0.2%
Makefile
0.2%