[stgt] TaskManagement support in libiscsi

ronnie sahlberg ronniesahlberg at gmail.com
Fri Feb 25 04:36:00 CET 2011

On Wed, Feb 23, 2011 at 11:00 AM, FUJITA Tomonori
<fujita.tomonori at lab.ntt.co.jp> wrote:
> On Sat, 19 Feb 2011 18:29:36 +1100
> ronnie sahlberg <ronniesahlberg at gmail.com> wrote:
>> Libiscsi now has support to generate task management functions.
>> This can be used in to easily and reliably generate task management
>> functions and send these to a target to test that
>> the tm operations work.
>> For example in 'make test' or in special tools written for regression testing.
>> As there has been a few tm related issues in stgt, and that is often
>> 'difficult' to manually generate such functions from userspace,
>> I think that this support in libiscsi will be useful.
> Nice, I should test tgt with it.

Would it be useful to add some "make test" framework which could run a
number of small tests with tgtd and dedicated applications built on
libiscsi and similar ?

Things like
1) Write a singe huge WRITE10 to the target containing random data and
then read it back with READ10 and compare the result?
2) Send a huge number of WRITE10 to the target, then immediately send
ABORT TASK for all of them and make sure tgtd does not segv ?
3) Take out a reserve, then from a different session try to do I/O and
verify the reserve works ?

Something like that, a set of many small test applications and tests
that are run one by one to verify one task at a time.

I can start building an initial framework and a couple of small tests
if you want to.
It would mean that in order to do 'make test' on STGT you would have a
dependency that you would need libiscsi so that you can build the test

(This could also allow 'fuzz'-testing. Which is often very useful for
testing boundary cases that are 'difficult/impossible' to generate
using a real bug-free client.  Fuzz testing could be 'do all these I/O
over and over but add random modification to iscsi and scsi headers,
sending deliberately 'bad' commands to the server over and over to see
if you eventually get a segv or similar)

If you would be interested in this I can start building a small test framework.

> btw, merging libiscsi to qemu is progressing?

Yes. It is progressing.  iSCSI is not the highest item on the QEMU
folks agenda :-)
But it is progressing nicely.

> Thanks!
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

More information about the stgt mailing list