From: Mike Christie <michaelc@cs.wisc.edu>
To: Patrick Mansfield <patmans@us.ibm.com>
Cc: SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: Re: scsi scan bug when peripheral qualifier of 3 is returned
Date: Wed, 04 Jan 2006 12:28:03 -0600 [thread overview]
Message-ID: <43BC13B3.9030604@cs.wisc.edu> (raw)
In-Reply-To: <20060104174019.GA3995@us.ibm.com>
Patrick Mansfield wrote:
> On Wed, Jan 04, 2006 at 01:11:06AM -0600, Mike Christie wrote:
>
>
>>But for SCSI_SCAN_TARGET_PRESENT bflags is not set. Is the correct fix
>>to move where bflagsp gets set in scsi_probe_and_add_lun so that it gets
>>set for the SCSI_SCAN_TARGET_PRESENT case, or should __scsi_scan_target
>>be passing scsi_sequential_lun_scan and possibly scsi_report_lun_scan
>>some default bflags values?
>
>
> It looks OK to me as-is, since bflags is also passed to and set in
> scsi_probe_lun(), right?
>
A blagfs variable gets set but it is not the same one passed into
scsi_probe_and_add_lun.
static int scsi_probe_and_add_lun(struct scsi_target *starget,
uint lun, int *bflagsp,
{
struct scsi_device *sdev;
unsigned char *result;
int bflags,
scsi_probe_and_add_lun gets a *bflagsp passed to it as a function arg,
but then also decalres a bflags variable itself. It then passes
scsi_probe_lun() the bflags it declared and does this
res = scsi_add_lun(sdev, result, &bflags);
if (res == SCSI_SCAN_LUN_PRESENT) {
if (bflags & BLIST_KEY) {
sdev->lockable = 0;
scsi_unlock_floptical(sdev, result);
}
if (bflagsp)
*bflagsp = bflags;
}
so *bflagsp pointer only gets set if SCSI_SCAN_LUN_PRESENT was returned
by scsi_add_lun. For SCSI_SCAN_TARGET_PRESENT we do not even get to
scsi_add_lun, so for this case *bflagsp never gets set and
__scsi_scan_target gets zero. Previously, __scsi_scan_target would just
pass scsi_sequential_lun_scan the sparse blist flag, but now it passes zero.
next prev parent reply other threads:[~2006-01-04 18:28 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-04 7:11 scsi scan bug when peripheral qualifier of 3 is returned Mike Christie
2006-01-04 17:40 ` Patrick Mansfield
2006-01-04 18:28 ` Mike Christie [this message]
2006-01-04 19:01 ` Patrick Mansfield
2006-01-04 20:31 ` Mike Christie
2006-01-04 22:25 ` Patrick Mansfield
2006-01-05 16:56 ` Mike Christie
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=43BC13B3.9030604@cs.wisc.edu \
--to=michaelc@cs.wisc.edu \
--cc=linux-scsi@vger.kernel.org \
--cc=patmans@us.ibm.com \
/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.