|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] Re: [patch] xen-blkback: sync I/O after backend disconne
To: |
Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> |
Subject: |
Re: [Xen-devel] Re: [patch] xen-blkback: sync I/O after backend disconnected |
From: |
Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> |
Date: |
Wed, 7 Sep 2011 08:48:00 -0400 |
Cc: |
Christoph Hellwig <hch@xxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Jens Axboe <jaxboe@xxxxxxxxxxxx>, Marsden <greg.marsden@xxxxxxxxxx>, Joe Jin <joe.jin@xxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>, Greg@xxxxxxxxxxxxxxxxxxxx, Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>, Kurt C Hackel <KURT.HACKEL@xxxxxxxxxx> |
Delivery-date: |
Wed, 07 Sep 2011 05:53:22 -0700 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
In-reply-to: |
<20054.29964.556177.999449@xxxxxxxxxxxxxxxxxxxxxxxx> |
List-help: |
<mailto:xen-devel-request@lists.xensource.com?subject=help> |
List-id: |
Xen developer discussion <xen-devel.lists.xensource.com> |
List-post: |
<mailto:xen-devel@lists.xensource.com> |
List-subscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |
List-unsubscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |
References: |
<4E48A6A6.4040706@xxxxxxxxxx> <20110815144610.GA3707@xxxxxxxxxxxxx> <m2n.s.1QsyrJ-132485@xxxxxxxxxxxxxxxxxxxxxx> <20054.29964.556177.999449@xxxxxxxxxxxxxxxxxxxxxxxx> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
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@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- Re: [Xen-devel] Re: [patch] xen-blkback: sync I/O after backend disconnected,
Konrad Rzeszutek Wilk <=
|
|
|
|
|