Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 127720
b: refs/heads/master
c: e0f0686
h: refs/heads/master
v: v3
  • Loading branch information
Andre Noll authored and NeilBrown committed Jan 8, 2009
1 parent 5b51249 commit c5570af
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a471200595b24fb1907ad12107a6a66db02c63f2
refs/heads/master: e0f06868341700c5c1964a04f6c5b51d0a2d5bca
13 changes: 6 additions & 7 deletions trunk/drivers/md/raid0.c
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,7 @@ static int raid0_make_request (struct request_queue *q, struct bio *bio)
struct strip_zone *zone;
mdk_rdev_t *tmp_dev;
sector_t chunk;
sector_t block, rsect;
sector_t sector, rsect;
const int rw = bio_data_dir(bio);
int cpu;

Expand All @@ -409,8 +409,7 @@ static int raid0_make_request (struct request_queue *q, struct bio *bio)

chunk_sects = mddev->chunk_size >> 9;
chunksect_bits = ffz(~chunk_sects);
block = bio->bi_sector >> 1;

sector = bio->bi_sector;

if (unlikely(chunk_sects < (bio->bi_sector & (chunk_sects - 1)) + (bio->bi_size >> 9))) {
struct bio_pair *bp;
Expand All @@ -433,24 +432,24 @@ static int raid0_make_request (struct request_queue *q, struct bio *bio)


{
sector_t x = block >> conf->preshift;
sector_t x = sector >> (conf->preshift + 1);
sector_div(x, (u32)conf->hash_spacing);
zone = conf->hash_table[x];
}

while (block >= (zone->zone_offset + zone->size))
while (sector / 2 >= (zone->zone_offset + zone->size))
zone++;

sect_in_chunk = bio->bi_sector & (chunk_sects - 1);


{
sector_t x = (block - zone->zone_offset) >> (chunksect_bits - 1);
sector_t x = (sector - zone->zone_offset * 2) >> chunksect_bits;

sector_div(x, zone->nb_dev);
chunk = x;

x = block >> (chunksect_bits - 1);
x = sector >> chunksect_bits;
tmp_dev = zone->dev[sector_div(x, zone->nb_dev)];
}
rsect = (((chunk << (chunksect_bits - 1)) + zone->dev_offset)<<1)
Expand Down

0 comments on commit c5570af

Please sign in to comment.