search for: queue_max_sector

Displaying 9 results from an estimated 9 matches for "queue_max_sector".

Did you mean: queue_max_sectors
2010 Sep 02
2
blk_rq_check_limits errors
...esg). Does anyone have got a clue > how-to get of the root cause? Many thanks in advance. linux/block/blk-core.c int blk_rq_check_limits(struct request_queue *q, struct request *rq) { if (rq->cmd_flags & REQ_DISCARD) return 0; if (blk_rq_sectors(rq) > queue_max_sectors(q) || blk_rq_bytes(rq) > queue_max_hw_sectors(q) << 9) { printk(KERN_ERR "%s: over max size limit.\n", __func__); return -EIO; } I haven''t seen that before, but if I should guess, I would guess that dm-* has a large...
2014 Nov 11
2
kernel BUG at drivers/block/virtio_blk.c:172!
...k if the > bug still can be triggered even with above fix: > > http://marc.info/?l=linux-virtualization&m=141473040618467&q=p3 "blk_recount_segments: 1-1-1 vcnt-128 segs-128" As long as I understood so far, the reason is that bi_phys_segments gets sometimes bigger than queue_max_sectors() after blk_recount_segments(). That happens no matter whether segments are recalculated or not. I'm not completely sure about what to do, but how about the attached patch? It seems to work, according to several xfstests runs. Cheers, Dongsu ---- >From 1db98323931eb9ab430116c4d909d22222...
2014 Nov 11
2
kernel BUG at drivers/block/virtio_blk.c:172!
...k if the > bug still can be triggered even with above fix: > > http://marc.info/?l=linux-virtualization&m=141473040618467&q=p3 "blk_recount_segments: 1-1-1 vcnt-128 segs-128" As long as I understood so far, the reason is that bi_phys_segments gets sometimes bigger than queue_max_sectors() after blk_recount_segments(). That happens no matter whether segments are recalculated or not. I'm not completely sure about what to do, but how about the attached patch? It seems to work, according to several xfstests runs. Cheers, Dongsu ---- >From 1db98323931eb9ab430116c4d909d22222...
2014 Nov 11
0
kernel BUG at drivers/block/virtio_blk.c:172!
...triggered even with above fix: >> >> http://marc.info/?l=linux-virtualization&m=141473040618467&q=p3 > > "blk_recount_segments: 1-1-1 vcnt-128 segs-128" > > As long as I understood so far, the reason is that bi_phys_segments gets > sometimes bigger than queue_max_sectors() after blk_recount_segments(). > That happens no matter whether segments are recalculated or not. I know the problem now, since bi_vcnt can't be used for cloned bio, and the patch I sent last time is wrong too. > I'm not completely sure about what to do, but how about the attached...
2014 Nov 10
2
kernel BUG at drivers/block/virtio_blk.c:172!
On 2014-11-10 02:59, Rusty Russell wrote: > Jeff Layton <jlayton at poochiereds.net> writes: > >> In the latest Fedora rawhide kernel in the repos, I'm seeing the >> following oops when mounting xfs. rc2-ish kernels seem to be fine: >> >> [ 64.669633] ------------[ cut here ]------------ >> [ 64.670008] kernel BUG at drivers/block/virtio_blk.c:172!
2014 Nov 10
2
kernel BUG at drivers/block/virtio_blk.c:172!
On 2014-11-10 02:59, Rusty Russell wrote: > Jeff Layton <jlayton at poochiereds.net> writes: > >> In the latest Fedora rawhide kernel in the repos, I'm seeing the >> following oops when mounting xfs. rc2-ish kernels seem to be fine: >> >> [ 64.669633] ------------[ cut here ]------------ >> [ 64.670008] kernel BUG at drivers/block/virtio_blk.c:172!
2011 Feb 17
7
Re: [Bugme-new] [Bug 29302] New: Null pointer dereference with large max_sectors_kb
(switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface). On Thu, 17 Feb 2011 13:20:20 GMT bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=29302 > > Summary: Null pointer dereference with large max_sectors_kb > Product: IO/Storage > Version: 2.5 > Kernel
2012 Apr 20
1
[PATCH] multiqueue: a hodge podge of things
...*req, +int ll_back_merge_fn(struct blk_queue_ctx *ctx, struct request *req, struct bio *bio) { + struct request_queue *q = ctx->queue; unsigned short max_sectors; if (unlikely(req->cmd_type == REQ_TYPE_BLOCK_PC)) max_sectors = queue_max_hw_sectors(q); else max_sectors = queue_max_sectors(q); if (blk_rq_sectors(req) + bio_sectors(bio) > max_sectors) { req->cmd_flags |= REQ_NOMERGE; - if (req == q->last_merge) - q->last_merge = NULL; + if (req == ctx->last_merge) + ctx->last_merge = NULL; return 0; } if (!bio_flagged(req->biotail, BIO_SEG_VAL...
2012 Apr 20
1
[PATCH] multiqueue: a hodge podge of things
...*req, +int ll_back_merge_fn(struct blk_queue_ctx *ctx, struct request *req, struct bio *bio) { + struct request_queue *q = ctx->queue; unsigned short max_sectors; if (unlikely(req->cmd_type == REQ_TYPE_BLOCK_PC)) max_sectors = queue_max_hw_sectors(q); else max_sectors = queue_max_sectors(q); if (blk_rq_sectors(req) + bio_sectors(bio) > max_sectors) { req->cmd_flags |= REQ_NOMERGE; - if (req == q->last_merge) - q->last_merge = NULL; + if (req == ctx->last_merge) + ctx->last_merge = NULL; return 0; } if (!bio_flagged(req->biotail, BIO_SEG_VAL...