From: Douglas Gilbert <dougg@torque.net>
To: Olaf Hering <olh@suse.de>
Cc: linux-scsi@vger.kernel.org
Subject: Re: improve sg_luns output for iscsi
Date: Tue, 06 Mar 2007 14:27:33 -0500 [thread overview]
Message-ID: <45EDC0A5.804@torque.net> (raw)
In-Reply-To: <20070306180428.GA16826@suse.de>
Olaf Hering wrote:
> Upcoming IBM pSeries firmware can boot from iscsi. To configure the
> openfirmware boot-device string, we need to construct a correct
> devicepath. This path includes the lun. Its currently not 100% clear
> how exactly this lun value has to look like.
>
> sg_luns may be the tool to get the value. But its current output is not
> parseable by scripts. It even gives the same output for two different
> scsi devices:
>
> girgendwas:~ # lsscsi
> [0:0:0:0] disk DGC RAID 5 0219 /dev/sda
> [0:0:0:1] disk DGC RAID 5 0219 /dev/sdb
> [0:0:0:2] disk DGC RAID 5 0219 /dev/sdc
> [0:0:0:3] disk DGC RAID 5 0219 /dev/sdd
> girgendwas:~ # sg_luns -V
> sg_luns: version: 1.05 20060127
> girgendwas:~ # sg_luns /dev/sdd
> Lun list length = 32 which imples 4 lun entries
> Report luns [select_report=0]:
> 0000000000000000
> 0001000000000000
> 0002000000000000
> 0003000000000000
> girgendwas:~ # sg_luns /dev/sdc
> Lun list length = 32 which imples 4 lun entries
> Report luns [select_report=0]:
> 0000000000000000
> 0001000000000000
> 0002000000000000
> 0003000000000000
>
> Is it possible to print the lun only for the requested scsi device?
Olaf,
sg_luns is an application client driving the SCSI
REPORT LUNS command. It is a "trick" SCSI command
since even though it addresses a logical unit, it
is really the target that replies (as it is the target
that knows about the sibling logical units) ***.
The REPORT LUNS response gives no indication which
(if any) 64 bit lun was addressed.
Now I would not want to break the link between sg_luns
and the SCSI REPORT LUNS command. Adding an extra
parameter to try and find the lun associated with the
file descriptor has a few problems (from my point
of view):
- it would be OS specific (sg_luns isn't currently)
- within Linux there are different mechanisms in
the 2.4 and 2.6 series kernels.
In your example above a combination of lsscsi and sg_luns
gives the answer ("0003000000000000") but lsscsi is
linux 2.6 series specific. sg_scan would probably work
as a replacement for lsscsi (and sg_scan also works in the
lk 2.4 series (and Windows)).
To address the parsability of sg_luns output, I recently
added a '--quiet' option to suppress the extraneous
output.
In summary sg_luns is probably not what you want!
What about the lu _name_? For iSCSI the lu should
yield a world wide unique "SCSI name" designator
in the device identification VPD page (see SPC-4
and SAM-4 Annex A; the iSCSI standard woffles in
this area).
*** a better way to get a target to report its active
luns is to use the REPORT LUNS well known logical
unit but hardly anyone implements that.
Doug Gilbert
next prev parent reply other threads:[~2007-03-06 19:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-06 18:04 improve sg_luns output for iscsi Olaf Hering
2007-03-06 18:50 ` Doug Maxey
2007-03-08 8:53 ` Olaf Hering
2007-03-06 19:27 ` Douglas Gilbert [this message]
2007-03-19 9:06 ` Olaf Hering
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=45EDC0A5.804@torque.net \
--to=dougg@torque.net \
--cc=linux-scsi@vger.kernel.org \
--cc=olh@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.