[prev in list] [next in list] [prev in thread] [next in thread] 

List:       drbd-dev
Subject:    [Drbd-dev] bio_split()...
From:       Philipp Reisner <philipp.reisner () linbit ! com>
Date:       2005-03-15 20:15:58
Message-ID: 200503152115.58219.philipp.reisner () linbit ! com
[Download RAW message or body]

Hi Jens,

bio_split only works for bios with a single page...

[ from bio.c: ]
/*
 * split a bio - only worry about a bio with a single page
 * in it's iovec
 */
struct bio_pair *bio_split(struct bio *bi, mempool_t *pool, int first_sectors)
{
 struct bio_pair *bp = mempool_alloc(pool, GFP_NOIO);

 if (!bp)
  return bp;

 BUG_ON(bi->bi_vcnt != 1);
[...]

In DRBD-0.8 I want to split BIO's that cross a 16 MB boundary. 
In DRBD-0.8 I accept BIOs with more than one page (currently up to
32 kB in a single BIO), I thought that bio_split is here
to handle such situations....

Is there an other way to go ?
Would you accept a patch that would make bio_split to work with bigger
BIOs ?

Currently my code hits that BUG_ON statement....

-Philipp


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic