On Thu, Oct 30, 2014 at 10:38 PM, Jens Axboe <[email protected]> wrote:
> Forgot to CC you...
>
>
> -------- Forwarded Message --------
> Subject: Re: kernel BUG at drivers/block/virtio_blk.c:172
> Date: Thu, 30 Oct 2014 08:38:08 -0600
> From: Jens Axboe <[email protected]>
> To: Lukáš Czerner <[email protected]>,
> [email protected]
> CC: [email protected]
>
> On 2014-10-30 08:33, Lukáš Czerner wrote:
>>
>> Hi,
>>
>> I've just hit this BUG at drivers/block/virtio_blk.c when updated to
>> the kernel from the top of the Linus git tree.
>>
>> commit a7ca10f263d7e673c74d8e0946d6b9993405cc9c
>>
>> This is my virtual machine running on RHEL7 guest
>>
>> qemu-kvm-1.5.3-60.el7.x86_64
>>
>> The last upstream kernel (3.17.0-rc4) worked well. I'll try to
>> bisect, but meanwhile this is a backtrace I got very early in the boot.
>> The root fs on that guest is xfs and I am using raw disk image and virtio
>> driver.
>>
>> Let me know if you need more information.
>
>
> Ming, looks like this still isn't really fixed. The above upstream
> commit has the latest fixup as well for the segments being wrong, so
> nothing else should be pending.
That looks weird, and I can't reproduce with mkfs.xfs & mount
in my environment.
Lukáš, could you reproduce the issue with attached debug patch
and post the result? BTW, do you pass 'scsi=off' in the qemu
command line for the virito-blk device?
Thanks,
--
Ming Lei
diff --git a/block/blk-merge.c b/block/blk-merge.c
index b3ac40a..91f3275 100644
--- a/block/blk-merge.c
+++ b/block/blk-merge.c
@@ -113,6 +113,15 @@ void blk_recount_segments(struct request_queue *q, struct bio *bio)
bio->bi_next = nxt;
}
+ if (no_sg_merge && (bio->bi_phys_segments >= queue_max_segments(q)))
+ printk("%s: %d-%d-%d vcnt-%d segs-%d\n",
+ __func__,
+ no_sg_merge,
+ !bio_flagged(bio, BIO_CLONED),
+ merge_not_need,
+ bio->bi_vcnt,
+ bio->bi_phys_segments);
+
bio->bi_flags |= (1 << BIO_SEG_VALID);
}
EXPORT_SYMBOL(blk_recount_segments);
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization