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] [day] [month] [year] [list]
Message-ID: <20110907124800.GC32190@dumpdata.com>
Date:	Wed, 7 Sep 2011 08:48:00 -0400
From:	Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
To:	Ian Jackson <Ian.Jackson@...citrix.com>
Cc:	Ian Campbell <Ian.Campbell@...citrix.com>,
	"xen-devel@...ts.xensource.com" <xen-devel@...ts.xensource.com>,
	Jens Axboe <jaxboe@...ionio.com>,
	Marsden <greg.marsden@...cle.com>, Joe Jin <joe.jin@...cle.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Christoph Hellwig <hch@...radead.org>,
	Greg@...inet13.oracle.com, Kurt C Hackel <KURT.HACKEL@...cle.com>
Subject: Re: [Xen-devel] Re: [patch] xen-blkback: sync I/O after backend
 disconnected

On Thu, Aug 25, 2011 at 05:15:08PM +0100, Ian Jackson wrote:
> Konrad Rzeszutek Wilk writes ("Re: [Xen-devel] Re: [patch] xen-blkback: sync I/O after backend disconnected"):
> > And the guest would normally issues a FLUSH when unmounting the
> > disk. Hm, I wonder what the conditions are when we forcibly kill the
> > guest - there might be outstanding I/Os in the disk's cache -
> > at which point we should probably sync the write cache, no?
> 
> If we forcibly kill the guest we don't care about its IO in flight.

Why don't we care about it? It might have become wedged but that does
not mean we don't want to preserve as much as possible.

> After all we are throwing away everything that the guest has in its
> queue.

We end up finishing all of the outstanding I/Os that guest has sent.
When all of the bio_submit callbacks have finished then we release
the guest backend. So adding in a 'SYNC' to the queue would force
the disk cache to flush all the writes at least.

> 
> Bear in mind that the reason for forcibly killing (or perhaps forcibly
> detaching) might be that the underlying device has wedged somehow.  It
> would be annoying if that prevented even a force detach.
> 
> Or to put it in other words: force detach and force kill should be
> lossy.  Their whole point is to be the lossy version.

Hm, I think you still end up holding on the request queue and not
freeing the blkback thread and all of its goodies until the bio callbacks
have completed. When the device gets wedged they become wedged too.
You have to wait for the error handler to give up and then the avalanche
of 'write page lost' and 'error secxtor XX' along with the -ENXIO being
returned ends up in the bio callbacks.

What I am saying is that the force detach is still stuck waiting
if the device has wedged - irregardless of this patch.

> 
> Ian.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@...ts.xensource.com
> http://lists.xensource.com/xen-devel
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ