From: Douglas Gilbert <dgilbert@interlog.com>
To: Sha Zhengju <handai.szj@gmail.com>, linux-scsi@vger.kernel.org
Cc: Sha Zhengju <handai.szj@taobao.com>
Subject: Re: [PATCH] scsi_debug: unify scsi_level in proc and sysfs
Date: Tue, 21 Jan 2014 10:07:55 -0500 [thread overview]
Message-ID: <52DE8D4B.3090008@interlog.com> (raw)
In-Reply-To: <1390297947-6772-1-git-send-email-handai.szj@taobao.com>
On 14-01-21 04:52 AM, Sha Zhengju wrote:
> From: Sha Zhengju <handai.szj@taobao.com>
>
> There're severel interfaces to show scsi_level value of scsi_debug,
> but they're not in consistent. E.g:
>
> 1)
> #cat /sys/bus/pseudo/drivers/scsi_debug/scsi_level
> 5
>
> 2)
> #cat /proc/scsi/scsi_debug/7
> scsi_debug adapter driver, version 1.82 [20100324]
> num_tgts=1, shared (ram) size=1024 MB, opts=0x0, every_nth=0(curr:0)
> delay=1, max_luns=1, scsi_level=5
> sector_size=512 bytes, cylinders=130, heads=255, sectors=63
> number of aborts=0, device_reset=0, bus_resets=0, host_resets=0
> dix_reads=0 dix_writes=0 dif_errors=0
>
> 3)
> #cat /sys/bus/scsi/devices/7\:0\:0\:0/scsi_level (or lsscsi -l)
> 6
>
> According to the description in scsi.h, "struct scsi_device::scsi_level
> values. For SCSI devices other than those prior to SCSI-2 (i.e. over
> 12 years old) this value is (resp[2] + 1) where 'resp' is a byte array
> of the response to an INQUIRY". For scsi_debug, the resp[2] of INQUIRY
> is 5 which indicates using SPC-3, but the sysfs's scsi_level will show 6.
>
> The aboving 1) and 2) entry export resp[2] of INQUIRY directly, unify
> them with 3) which is resp[2] + 1.
Hmmm. scsi_level is a Linux hack that should be, but cannot
easily be, replaced. I agree all scsi_level outputs should
be consistent (and thus equally confusing). Perhaps scsi_debug
(and the mid-level) should introduce a new variable, something
like 't10_inq_version' that is rsp[2] from a standard INQUIRY
response. Since SPC-2, that byte has had the field name VERSION
and that name seems unlikely to change.
Doug Gilbert
> Signed-off-by: Sha Zhengju <handai.szj@taobao.com>
> ---
> drivers/scsi/scsi_debug.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
> index 80b8b10..a52d0687 100644
> --- a/drivers/scsi/scsi_debug.c
> +++ b/drivers/scsi/scsi_debug.c
> @@ -2866,7 +2866,7 @@ static int scsi_debug_show_info(struct seq_file *m, struct Scsi_Host *host)
> SCSI_DEBUG_VERSION, scsi_debug_version_date, scsi_debug_num_tgts,
> scsi_debug_dev_size_mb, scsi_debug_opts, scsi_debug_every_nth,
> scsi_debug_cmnd_count, scsi_debug_delay,
> - scsi_debug_max_luns, scsi_debug_scsi_level,
> + scsi_debug_max_luns, scsi_debug_scsi_level + 1,
> scsi_debug_sector_size, sdebug_cylinders_per, sdebug_heads,
> sdebug_sectors_per, num_aborts, num_dev_resets, num_bus_resets,
> num_host_resets, dix_reads, dix_writes, dif_errors);
> @@ -3091,7 +3091,7 @@ DRIVER_ATTR(no_uld, S_IRUGO, sdebug_no_uld_show, NULL);
>
> static ssize_t sdebug_scsi_level_show(struct device_driver * ddp, char * buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "%d\n", scsi_debug_scsi_level);
> + return scnprintf(buf, PAGE_SIZE, "%d\n", scsi_debug_scsi_level + 1);
> }
> DRIVER_ATTR(scsi_level, S_IRUGO, sdebug_scsi_level_show, NULL);
>
>
next prev parent reply other threads:[~2014-01-21 15:08 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-21 9:52 [PATCH] scsi_debug: unify scsi_level in proc and sysfs Sha Zhengju
2014-01-21 15:07 ` Douglas Gilbert [this message]
2014-01-22 5:48 ` Sha Zhengju
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=52DE8D4B.3090008@interlog.com \
--to=dgilbert@interlog.com \
--cc=handai.szj@gmail.com \
--cc=handai.szj@taobao.com \
--cc=linux-scsi@vger.kernel.org \
/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.