[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-stable] [Qemu-devel] [PATCH 09/26] ide: Set BSY bit during FLU
From: |
Michael Roth |
Subject: |
Re: [Qemu-stable] [Qemu-devel] [PATCH 09/26] ide: Set BSY bit during FLUSH |
Date: |
Mon, 12 Aug 2013 17:43:00 -0500 |
User-agent: |
alot/0.3.4 |
Quoting Alex Williamson (2013-07-03 16:51:56)
> On Wed, 2013-07-03 at 15:16 -0500, Michael Roth wrote:
> > On Wed, Jul 3, 2013 at 3:10 PM, Alex Williamson
> > <address@hidden> wrote:
> > > On Wed, 2013-06-12 at 16:41 -0500, Michael Roth wrote:
> > >> From: Andreas Färber <address@hidden>
> > >>
> > >> The implementation of the ATA FLUSH command invokes a flush at the block
> > >> layer, which may on raw files on POSIX entail a synchronous fdatasync().
> > >> This may in some cases take so long that the SLES 11 SP1 guest driver
> > >> reports I/O errors and filesystems get corrupted or remounted read-only.
> > >>
> > >> Avoid this by setting BUSY_STAT, so that the guest is made aware we are
> > >> in the middle of an operation and no ATA commands are attempted to be
> > >> processed concurrently.
> > >>
> > >> Addresses BNC#637297.
> > >>
> > >> Suggested-by: Gonglei (Arei) <address@hidden>
> > >> Signed-off-by: Andreas Färber <address@hidden>
> > >> Signed-off-by: Kevin Wolf <address@hidden>
> > >> Signed-off-by: Stefan Hajnoczi <address@hidden>
> > >> (cherry picked from commit f68ec8379e88502b4841a110c070e9b118d3151c)
> > >>
> > >> Signed-off-by: Michael Roth <address@hidden>
> > >> ---
> > >> hw/ide/core.c | 1 +
> > >> 1 file changed, 1 insertion(+)
> > >>
> > >> diff --git a/hw/ide/core.c b/hw/ide/core.c
> > >> index c7a8041..9926d92 100644
> > >> --- a/hw/ide/core.c
> > >> +++ b/hw/ide/core.c
> > >> @@ -814,6 +814,7 @@ void ide_flush_cache(IDEState *s)
> > >> return;
> > >> }
> > >>
> > >> + s->status |= BUSY_STAT;
> > >> bdrv_acct_start(s->bs, &s->acct, 0, BDRV_ACCT_FLUSH);
> > >> bdrv_aio_flush(s->bs, ide_flush_cb, s);
> > >> }
> > >
> > > This caused a regression for me from 1.5.0->1.5.1. Windows 7 x64 no
> > > longer boots on q35 IDE with this change. Thanks,
> >
> > Are you seeing the issue for upstream builds as well?
>
> Yes, I bisected this on upstream. If i revert just this from 1.5.1, I
> can boot again. Upstream requires reverting this and a workaround for
> 9afce429. Thanks,
Does the problem still exist upstream? I'd rather not revert without a
fix for the issue in 9afce429 since that might cause a regression for 1.5.1
users now.
Sucks either way but I think it's safer to have Win7 not boot on q35 than
re-introduce potential image corruption.
>
> Alex
- Re: [Qemu-stable] [Qemu-devel] [PATCH 09/26] ide: Set BSY bit during FLUSH,
Michael Roth <=