Menu

olitarget / News: Recent posts

Visual Studio as Linux kernel driver editor!

I have written lot of device driver, but I always used vi or kwrite as editor.

Just for the fun and for auto-completion (Intelisense), I will try to use Visual Studio for the hba driver of olitarget.

I first import a kernel source, copy the right asm directory, do some change in current.h and it seems to begin to work.

In order to build the kernel module, this directory is shared with my ubuntu.

I will try to import the compile error log in visual studio in future.... read more

Posted by Olivier M. Cozette 2010-07-09

Linux iscsi Initiator

In the third release Linux initiator was not able to format or use a disk/logical unit.
In fact, the olitarget only support 256KiB maximum request size (you must use two SCSI command to read 512KiB), but Linux initiator give 512KiB request, so the target response with an error as expected.
It’s strange, since olitarget say the max request (MaxBurstSize), at iSCSI level, is 256KiB. It says, at SCSI level, that the MaxBurstSize in mode sense connection/reconnection page is 256KiB and it says the same things in Inquiry VPD Block Limits.
So, Linux initiator doesn’t enforce these maximum request limits or there is a bug in the target, but Windows enforce the 256KiB limits…
I will continue to check Linux kernel to find if there are any way to enforce to MaxBurstSize,

Posted by Olivier M. Cozette 2010-07-05

Windows console input

Windows has a great functionality near all IO function can be asynchronous like socket send/recv/accept/connect file read/write. So, it gives a way to do many operations in a single thread with a unique way to wait the completion (IO completion port).
But, it lacks one thing: console and unnamed pipe are always synchronous and blocking operations (and fail to cancel them through cancelsynchronousio()). So, I have to create a special thread for reading for console stdin (CONIN$ in Windows namespace).
Linux is different, there are no unique way to do asynchronous socket and file operations and both use different api (aio_read()/aio_write() and select()). So, it’s requested to wait for signal and select.
Moreover, you must do a select before send or receive to know if we can fill or flush data to socket buffer. So the data is always copied from kernel socket buffer. The windows asynchronous socket (WSASend() work like aio_write()) give a way to the OS to get data from user space to network card without needed to copy data to an intermediate buffer.

Posted by Olivier M. Cozette 2010-07-05

Third release is up

It's mainly a feature completion/bug fixe.

Adding dynamicaly a lun can be tested by pressing a key, it will ad a small lun at each keypressed (tested with windows succesfully, but new lun is only detected if we do an io on an old one).

The next release will integrate a real interactive lun management!

Have fun!

Posted by Olivier M. Cozette 2010-07-04

About the next release (the third)

3rd realease will include:
- support of Linux Initiator (already in svn, but some other test must be done).
- support of Logical Unit Reset and complete support of scsi-2 reser(6)/release(6) (already in svn).
- support dynamically add/remove a logical unit, and discoring this at initiator level using unit attention (incomplete in svn)
- support interactive add/remove a logical unit through console (not in svn).... read more

Posted by Olivier M. Cozette 2010-07-01

VMware ESX

Since RESERVE(6)/RELEASE(6) is implemented (with the logical unit reset) , olitarget should work with ESX 3.5/vSphere.

But I haven't any ESX/vSphere now.

However, If it's not working, it's probably related to a T10 identifier in INQUIRY VPD Device Identifier (I've seen that ESX seems to prefer T10 identifier that NAA one). In this last case, the T10 identifier will be added soon.

Posted by Olivier M. Cozette 2010-06-29

scsi compliance test

It's successfull (it's only with svn, the 'iscsi.exe' will be included in third release).

Scsi compliance test is a part of Windows logo program focused on scsi harddrive. The next part will be mmctest (CD/DVD) followed by the many iSCSI test.

Posted by Olivier M. Cozette 2010-06-29

Aborted command

Aborting all commands of enable task set is not always easy, what to do with command in the fly (currently processed by the disk)?

We can always find a way to wait for the end of command successfully completed and send their response to Initiator before the abort of the enable task set is requested.

But it's not the same for command in the fly which end by a CHECK CONDITION (medium error). In previous version of olitarget (before revision #39), their status is reset to aborted instead.... read more

Posted by Olivier M. Cozette 2010-06-25

Working with Linux Initiator

Since commited revision #36 it's working, you need the svn since it's not in the second release tgz.

How use the it:
- start olitaget "./olitarget - h olihd" on a Linux computer or "iscsi.exe -h olihd" on a Windows.
- On the Linux with Initiator do the followin step (as root)
root@olivier-desktop:~# /etc/init.d/open-iscsi start
* Starting iSCSI initiator service iscsid [ OK ]
ln: la cible `/lib/init/rw/sendsigs.omit.d/' n'est pas un répertoire: Aucun fichier ou dossier de ce type
* Setting up iSCSI targets
root@olivier-desktop:~# iscsiadm -m discovery -t sendtargets -p 192.168.233.1
192.168.233.1:3260,1 iqn.2005-04.com.free.hd.olivier.cozette.3260
root@olivier-desktop:~# iscsiadm --mode node --targetname iqn.2005-04.com.free.hd.olivier.cozette.3260 --portal 192.168.233.1:3260 --login
Logging in to [iface: default, target: iqn.2005-04.com.free.hd.olivier.cozette.3260, portal: 192.168.233.1,3260]
Login to [iface: default, target: iqn.2005-04.com.free.hd.olivier.cozette.3260, portal: 192.168.233.1,3260]: successful
root@olivier-desktop:~#

Posted by Olivier M. Cozette 2010-06-23

The second release is out

It does basic functionnalities and have been tested against windows initiator (Windows 7 and Windows 2008 r2) with WLK scsi compliance test (either from local, remote windows or remote linux).
Notice I installed my Wlk using olitarget to mount the wlk iso image as a DVD !

Posted by Olivier M. Cozette 2010-06-23

The second release is out

It does basic functionnalities and have been tested against windows initiator (Windows 7 and Windows 2008 r2) with WLK scsi compliance test (either from local, remote windows or remote linux).
Notice I installed my Wlk using olitarget to mount the wlk iso image as a DVD !

Posted by Olivier M. Cozette 2010-06-23

Task attribute

Task attibute SIMPLE, OREDERED and HEAD OF QUEUE managed according QERR, TST and Queue algorithm modifier

Posted by Olivier M. Cozette 2010-06-01

Task attribute

Task attibute SIMPLE, OREDERED and HEAD OF QUEUE managed according QERR, TST and Queue algorithm modifier

Posted by Olivier M. Cozette 2010-06-01