lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 06 Mar 2008 20:44:30 -0600
From:	James Bottomley <James.Bottomley@...senPartnership.com>
To:	Jeff Garzik <jeff@...zik.org>
Cc:	Tejun Heo <htejun@...il.com>, Mark Lord <liml@....ca>,
	Matthew Wilcox <matthew@....cx>, linux-ide@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: ata_ram driver

On Thu, 2008-03-06 at 21:16 -0500, Jeff Garzik wrote:
> Tejun Heo wrote:
> > James Bottomley wrote:
> >>> Yeap, sure.  It's the combination of things that always made me put this
> >>> off.  Is there a function I can call to just shutdown the host instead
> >>> of destroying it?
> >> Not really ... the process of unbinding the ULDs causes their remove
> >> methods to call shudown.  It is possible to separate this in the ULDS;
> >> but the original design was to make remove and shutdown be similar for
> >> the very reason that if you're removing the driver with unflushed data
> >> in the cache, we'd really like it flushed (flush is called from
> >> shutdown) because you have no way to talk to the device after this
> >> without reinserting the driver.
> > 
> > The problem is that libata EH and other stuff aren't ready to let go of
> > the SCSI host up until the last moment and that last moment can't be
> > moved before SCSI host destruction because shutdown sequence (flush and
> > spindown) requires live EH.  I think this can be solved by shooting down
> > individual sdev's instead of destroying the scsi_host.
> 
> I'm curious how the picture would change, if we used a scsi_host for 
> each ata_host.

It would probably make the whole paradigm a lot easier.  Currently, if
you look at the transport classes that do this type of thing, they
shadow host and add port and other components as extra bits.  libata
does a rather strange thing trying to have one SCSI host per SATA port,
so scsi_host and ata_host don't match up.  Then on destruction you can
just follow the standard SCSI teardown path.

James


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists