linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Neil Horman <nhorman@tuxdriver.com>
To: Randy Dunlap <randy.dunlap@oracle.com>
Cc: linux-kernel@vger.kernel.org, mike.miller@hp.com,
	iss_storagedev@hp.com, akpm@linux-foundation.org
Subject: Re: [PATCH] cciss: force ignore of responses to unsent scsi commands after kexec reboot
Date: Thu, 14 Jun 2007 12:44:47 -0400	[thread overview]
Message-ID: <20070614164447.GA1110@hmsreliant.homelinux.net> (raw)
In-Reply-To: <20070614085924.258f9426.randy.dunlap@oracle.com>

On Thu, Jun 14, 2007 at 08:59:24AM -0700, Randy Dunlap wrote:
> On Thu, 14 Jun 2007 11:31:19 -0400 Neil Horman wrote:
> 
> > Hey -
> > 	cciss hardware currently can continue to send responses to scsi commands
> > after the host system has undergone a kexec reboot.  The way the drier is
> > currently written, reception of these commands results in a BUG halt, since it
> > can't match the response to any issued command since the boot.  This patch
> > corrects that by using the kexec reset_devices command line paramter to force
> > ignore any commands that it cant correlate.
> > 
> > Regards
> > Neil
> > 
> > Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
> > 
> > 
> >  cciss.c |    8 ++++++++
> >  1 file changed, 8 insertions(+)
> > 
> > 
> > diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
> > index 5acc6c4..ec1c1d2 100644
> > --- a/drivers/block/cciss.c
> > +++ b/drivers/block/cciss.c
> > @@ -2131,6 +2131,14 @@ static int add_sendcmd_reject(__u8 cmd, int ctlr, unsigned long complete)
> >  		       ctlr, complete);
> >  		/* not much we can do. */
> >  #ifdef CONFIG_CISS_SCSI_TAPE
> > +		/* We might get notification of completion of commands
> > +		 * which we never issued in this kernel if this boot is
> > +		 * taking place after previous kernel's crash. Simply
> > +		 * ignore the commands in this case.
> > +		 */
> > +		if (reset_devices)
> > +			return 0;
> > +
> >  		return 1;
> >  	}
> 
> But this patch applies only to SCSI tape devices, not to
> disk devices?
> 
No it only applies if CONFIG_CISS_SCSI_TAPE is defined (which is different than
only being applicable to scsi tape devices.  I'm not sure why the cciss driver
ifdefs the relevant code to only support TAPE devices, but I figured that wasn't
as relevant to this problem.  Sufice it to say, that all scsi commands to all
cciss devices pass through this code if CONFIG_CISS_SCSI_TAPE is defined, and if
its not defined, add_sendcmd_reject always returns 0

Thanks & Regards
Neil

> ---
> ~Randy
> *** Remember to use Documentation/SubmitChecklist when testing your code ***

-- 
/***************************************************
 *Neil Horman
 *Software Engineer
 *Red Hat, Inc.
 *nhorman@tuxdriver.com
 *gpg keyid: 1024D / 0x92A74FA1
 *http://pgp.mit.edu
 ***************************************************/

  reply	other threads:[~2007-06-14 16:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-14 15:31 [PATCH] cciss: force ignore of responses to unsent scsi commands after kexec reboot Neil Horman
2007-06-14 15:59 ` Randy Dunlap
2007-06-14 16:44   ` Neil Horman [this message]
2007-06-14 18:16 ` Miller, Mike (OS Dev)
2007-06-14 19:25   ` Neil Horman
2007-06-18  4:30     ` Vivek Goyal
2007-06-18 16:39       ` Miller, Mike (OS Dev)
2007-07-03 15:59 ` Miller, Mike (OS Dev)

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=20070614164447.GA1110@hmsreliant.homelinux.net \
    --to=nhorman@tuxdriver.com \
    --cc=akpm@linux-foundation.org \
    --cc=iss_storagedev@hp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mike.miller@hp.com \
    --cc=randy.dunlap@oracle.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).