On Tue, Dec 23, 2014 at 12:41:40PM +0100, Dongsu Park wrote:
> You mean, checking rq->cmd_type == REQ_TYPE_BLOCK_PC, right?
>
> I'm wondering about how to check that in blk_queue_split().
> At the moment when blk_queue_split() is called, it's even before a request
> is mapped e.g. in
On Tue, Dec 23, 2014 at 12:41:40PM +0100, Dongsu Park wrote:
You mean, checking rq-cmd_type == REQ_TYPE_BLOCK_PC, right?
I'm wondering about how to check that in blk_queue_split().
At the moment when blk_queue_split() is called, it's even before a request
is mapped e.g. in
On Mon, Dec 22, 2014 at 7:48 PM, Dongsu Park
wrote:
> From: Kent Overstreet
>
> The way the block layer is currently written, it goes to great lengths
> to avoid having to split bios; upper layer code (such as bio_add_page())
> checks what the underlying device can handle and tries to always
On 23.12.2014 11:14, Geoff Levand wrote:
> On Mon, 2014-12-22 at 12:48 +0100, Dongsu Park wrote:
> > From: Kent Overstreet
>
> > --- a/drivers/block/ps3vram.c
> > +++ b/drivers/block/ps3vram.c
> > @@ -603,6 +603,8 @@ static void ps3vram_make_request(struct request_queue
> > *q, struct bio *bio)
On 23.12.2014 11:14, Geoff Levand wrote:
On Mon, 2014-12-22 at 12:48 +0100, Dongsu Park wrote:
From: Kent Overstreet k...@daterainc.com
--- a/drivers/block/ps3vram.c
+++ b/drivers/block/ps3vram.c
@@ -603,6 +603,8 @@ static void ps3vram_make_request(struct request_queue
*q, struct bio
On Mon, Dec 22, 2014 at 7:48 PM, Dongsu Park
dongsu.p...@profitbricks.com wrote:
From: Kent Overstreet k...@daterainc.com
The way the block layer is currently written, it goes to great lengths
to avoid having to split bios; upper layer code (such as bio_add_page())
checks what the underlying
Hi,
On Mon, 2014-12-22 at 12:48 +0100, Dongsu Park wrote:
> From: Kent Overstreet
> --- a/drivers/block/ps3vram.c
> +++ b/drivers/block/ps3vram.c
> @@ -603,6 +603,8 @@ static void ps3vram_make_request(struct request_queue *q,
> struct bio *bio)
> struct ps3vram_priv *priv =
Hi Christoph,
On 23.12.2014 02:16, Christoph Hellwig wrote:
> > +void blk_queue_split(struct request_queue *q, struct bio **bio,
> > +struct bio_set *bs)
> > +{
> > + struct bio *split;
> > +
> > + if ((*bio)->bi_rw & REQ_DISCARD)
> > + split =
> +void blk_queue_split(struct request_queue *q, struct bio **bio,
> + struct bio_set *bs)
> +{
> + struct bio *split;
> +
> + if ((*bio)->bi_rw & REQ_DISCARD)
> + split = blk_bio_discard_split(q, *bio, bs);
> + else if ((*bio)->bi_rw & REQ_WRITE_SAME)
> +
+void blk_queue_split(struct request_queue *q, struct bio **bio,
+ struct bio_set *bs)
+{
+ struct bio *split;
+
+ if ((*bio)-bi_rw REQ_DISCARD)
+ split = blk_bio_discard_split(q, *bio, bs);
+ else if ((*bio)-bi_rw REQ_WRITE_SAME)
+
Hi Christoph,
On 23.12.2014 02:16, Christoph Hellwig wrote:
+void blk_queue_split(struct request_queue *q, struct bio **bio,
+struct bio_set *bs)
+{
+ struct bio *split;
+
+ if ((*bio)-bi_rw REQ_DISCARD)
+ split = blk_bio_discard_split(q, *bio, bs);
Hi,
On Mon, 2014-12-22 at 12:48 +0100, Dongsu Park wrote:
From: Kent Overstreet k...@daterainc.com
--- a/drivers/block/ps3vram.c
+++ b/drivers/block/ps3vram.c
@@ -603,6 +603,8 @@ static void ps3vram_make_request(struct request_queue *q,
struct bio *bio)
struct ps3vram_priv *priv =
From: Kent Overstreet
The way the block layer is currently written, it goes to great lengths
to avoid having to split bios; upper layer code (such as bio_add_page())
checks what the underlying device can handle and tries to always create
bios that don't need to be split.
But this approach
From: Kent Overstreet k...@daterainc.com
The way the block layer is currently written, it goes to great lengths
to avoid having to split bios; upper layer code (such as bio_add_page())
checks what the underlying device can handle and tries to always create
bios that don't need to be split.
But
14 matches
Mail list logo