[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] "block: use aio_bh_schedule_oneshot" breaks ibm-vscsi
From: |
Alexey Kardashevskiy |
Subject: |
Re: [Qemu-ppc] "block: use aio_bh_schedule_oneshot" breaks ibm-vscsi |
Date: |
Thu, 27 Oct 2016 23:02:08 +1100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 |
On 27/10/16 18:57, Paolo Bonzini wrote:
>
>
> On 27/10/2016 05:30, Alexey Kardashevskiy wrote:
>> Hi,
>>
>> I just discovered that fffb6e12233002c26c0ee9ff92fa87927cd779f2 broke
>> ibm-vscsi, the guest booting stops (I waited for a minute) at:
>>
>> [ 0.809286] ibmvscsi 71000001: SRP_VERSION: 16.a
>> [ 0.809766] ibmvscsi 71000001: Maximum ID: 64 Maximum LUN: 32 Maximum
>> Channel: 3
>> [ 0.810059] scsi host0: IBM POWER Virtual SCSI Adapter 1.5.9
>> [ 0.810634] ibmvscsi 71000001: partner initialization complete
>> [ 0.810999] ibmvscsi 71000001: host srp version: 16.a, host partition
>> qemu (0), OS 2, max io 2097152
>> [ 0.811507] ibmvscsi 71000001: sent SRP login
>> [ 0.811705] ibmvscsi 71000001: SRP_LOGIN succeeded
>> [ 0.824062] scsi 0:0:0:0: Direct-Access QEMU QEMU HARDDISK
>> 2.5+ PQ: 0 ANSI: 5
>> [ 1.018526] sd 0:0:0:0: Attached scsi generic sg0 type 0
>> [ 1.019352] sd 0:0:0:0: [sda] 67108864 512-byte logical blocks: (34.4
>> GB/32.0 GiB)
>> [ 1.020274] sd 0:0:0:0: [sda] Write Protect is off
>> [ 1.020667] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled,
>> doesn't support DPO or FUA
>> [ 1.023390] sda: sda1 sda2 sda3
>> [ 1.025819] sd 0:0:0:0: [sda] Attached SCSI disk
>>
>>
>> When I switch to virtio-vscsi, I get a bit further:
>>
>> Begin: Loading essential drivers ... done.
>> Begin: Running /scripts/init-premount ... done.
>> Begin: Mounting root file system ... Begin: Running /scripts/local-top ...
>> done.
>> Begin: Running /scripts/local-premount ... done.
>> Begin: Will now check root file system ... fsck from util-linux 2.27.1
>> [/sbin/fsck.ext4 (1) -- /dev/sda2] fsck.ext4 -a -C0 /dev/sda2
>> fsck.ext4: Read-only file system while trying to open /dev/sda2
>> Disk write-protected; use the -n option to do a read-only
>> check of the device.
>> fsck exited with status code 8
>> done.
>> Warning: File system check failed but did not detect errors
>>
>> and then I get login prompt.
>>
>>
>> With reverted fffb6e12233002c26c0ee9ff92fa87927cd779f2, virtio-vscsi behaves
>> the same (so I assume fffb6e122 does not affect it) and ibm-vscsi behaves
>> nicely:
>>
>> Begin: Loading essential drivers ... done.
>> Begin: Running /scripts/init-premount ... done.
>> Begin: Mounting root file system ... Begin: Running /scripts/local-top ...
>> done.
>> Begin: Running /scripts/local-premount ... done.
>> Begin: Will now check root file system ... fsck from util-linux 2.27.1
>> [/sbin/fsck.ext4 (1) -- /dev/sda2] fsck.ext4 -a -C0 /dev/sda2
>> /dev/sda2: clean, 66846/2011296 files, 574929/8034048 blocks
>> done.
>> [ 0.996954] EXT4-fs (sda2): mounted filesystem with ordered data mode.
>> Opts: (null)
>> done.
>>
>> and then I get login prompt.
>>
>>
>> fffb6e12233002c26c0ee9ff92fa87927cd779f2 is:
>> ===
>> block: use aio_bh_schedule_oneshot
>>
>> This simplifies bottom half handlers by removing calls to qemu_bh_delete and
>> thus removing the need to stash the bottom half pointer in the opaque
>> datum.
>> ===
>>
>> Any clues what is wrong? Thanks.
>
> Hi, it turns out that the fix is already included in the 20-patch
> series "dataplane: remove RFifoLock". It's in patch 17.
Thanks, this helps indeed.
>
>
> diff --git a/async.c b/async.c
> index f30d011..fb37b03 100644
> --- a/async.c
> +++ b/async.c
> @@ -61,6 +61,7 @@ void aio_bh_schedule_oneshot(AioContext *ctx, QEMUBHFunc
> *cb, void *opaque)
> smp_wmb();
> ctx->first_bh = bh;
> qemu_mutex_unlock(&ctx->bh_lock);
> + aio_notify(ctx);
> }
>
> QEMUBH *aio_bh_new(AioContext *ctx, QEMUBHFunc *cb, void *opaque)
>
> Thanks,
>
> Paolo
>
--
Alexey