[Stgt-devel] [Patch 1/1] Add SCSI MEDIUM CHANGER support
Mark Harvey
markh794
Thu Jul 12 06:43:33 CEST 2007
On 7/7/07, FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp> wrote:
> From: Mark Harvey <markh794 at gmail.com>
> Subject: [Stgt-devel] [Patch 1/1] Add SCSI MEDIUM CHANGER support
> Date: Fri, 06 Jul 2007 18:22:06 +1000
>
> > Re-work of initial SMC commit based on latest git head MODE PAGE commit.
> >
> > This version includes the ability to load/unload media from the
> > DATA TRANSFER DEVICE at the configured TID/LUN address.
> >
> > Update spc_test_unit() TEST UNIT READY op processing to 'understand'
> > online, Poweron/Reset and removable flags. i.e. Response from TUR
> > depends on the status of each of these flags.
> > - If poweron_reset, return POWER-ON or RESET occurred, then clear flag.
> > - If online - Return READY
> > - If off-line and non-removable media - UNIT BECOMING READY
> > - If off-line and removable media - MEDIUM NOT PRESENT
> >
> > Online is when the backing file is open and ready for reading/writing.
> >
> > To be done at at a later time:
> > Other SCSI op codes need to be aware of these flags.
>
> Applied, thanks a lot!
>
> Please separate logical changes into a single patch file next
> time. You could split this into load/unload media stuff and smc.
OK.
> After applying this patch, I fixed and cleaned up many things so check
> whether it works.
I most likely will not have time until next week but a quick review of
the patches, I'm not expecting any surprises.
>
>
> > Signed-off-by: Mark Harvey <markh794 at gmail.com>
> > ---
> > doc/README.lu_configuration | 47 +++
> > scripts/tgt-core-test | 104 +++++-
> > usr/Makefile | 5 +-
> > usr/media.h | 28 ++
> > usr/mmc.c | 1 +
> > usr/osd.c | 2 +
> > usr/sbc.c | 1 +
> > usr/smc.c | 846 +++++++++++++++++++++++++++++++++++++++++++
> > usr/smc.h | 121 ++++++
> > usr/spc.c | 65 ++--
> > usr/spc.h | 5 +-
> > usr/target.c | 62 ++++
> > usr/tgtadm.c | 2 +
> > usr/tgtd.h | 7 +-
> > 14 files changed, 1255 insertions(+), 41 deletions(-)
> >
>
> (snip)
>
>
> > +static int test_slot_full(struct slot *s)
> > +{
> > + return s->status && 1;
> > +}
>
> ?
>
> s->status & 1;
>
>
> > @@ -1200,12 +1256,18 @@ int tgt_target_show_all(char *buf, int rest)
> > _TAB3 "SCSI ID: %s\n"
> > _TAB3 "SCSI SN: %s\n"
> > _TAB3 "Size: %s\n"
> > + _TAB3 "Online: %s\n"
> > + _TAB3 "Poweron/Reset: %s\n"
> > + _TAB3 "Removable media: %s\n"
> > _TAB3 "Backing store: %s\n",
> > lu->lun,
> > print_type(lu->attrs.device_type),
> > lu->attrs.scsi_id,
> > lu->attrs.scsi_sn,
> > print_disksize(lu->size),
> > + lu->attrs.online ? "Yes" : "No",
> > + lu->attrs.reset ? "Yes" : "No",
> > + lu->attrs.removable ? "Yes" : "No",
> > lu->path ? : "No backing store");
> >
>
> Probably, I'll change this later. I'd like to have more simple output.
I was not really planing on submitting this part.. It was more for my testing.
Many thanks
Mark
More information about the stgt
mailing list