patch-2.4.0-test5 linux/drivers/block/raid1.c
Next file: linux/drivers/block/raid5.c
Previous file: linux/drivers/block/raid0.c
Back to the patch index
Back to the overall index
- Lines: 116
- Date:
Wed Jul 26 19:47:48 2000
- Orig file:
v2.4.0-test4/linux/drivers/block/raid1.c
- Orig date:
Mon Jul 10 16:47:22 2000
diff -u --recursive --new-file v2.4.0-test4/linux/drivers/block/raid1.c linux/drivers/block/raid1.c
@@ -75,7 +75,7 @@
md_spin_unlock_irq(&conf->device_lock);
if (cnt == 0)
break;
- t = (struct buffer_head *)kmalloc(sizeof(struct buffer_head), GFP_KERNEL);
+ t = (struct buffer_head *)kmalloc(sizeof(struct buffer_head), GFP_BUFFER);
if (t) {
memset(t, 0, sizeof(*t));
t->b_next = bh;
@@ -165,7 +165,7 @@
if (r1_bh)
return r1_bh;
r1_bh = (struct raid1_bh *) kmalloc(sizeof(struct raid1_bh),
- GFP_KERNEL);
+ GFP_BUFFER);
if (r1_bh) {
memset(r1_bh, 0, sizeof(*r1_bh));
return r1_bh;
@@ -379,7 +379,7 @@
}
void raid1_end_request (struct buffer_head *bh, int uptodate)
{
- struct raid1_bh * r1_bh = (struct raid1_bh *)(bh->b_dev_id);
+ struct raid1_bh * r1_bh = (struct raid1_bh *)(bh->b_private);
/*
* this branch is our 'one mirror IO has finished' event handler:
@@ -542,8 +542,8 @@
return new_disk;
}
-static int raid1_make_request (request_queue_t *q, mddev_t *mddev, int rw,
- struct buffer_head * bh)
+static int raid1_make_request (mddev_t *mddev, int rw,
+ struct buffer_head * bh)
{
raid1_conf_t *conf = mddev_to_conf(mddev);
struct buffer_head *bh_req, *bhl;
@@ -551,6 +551,7 @@
int disks = MD_SB_DISKS;
int i, sum_bhs = 0, sectors;
struct mirror_info *mirror;
+ request_queue_t *q;
if (!buffer_locked(bh))
BUG();
@@ -626,7 +627,7 @@
bh_req->b_rdev = mirror->dev;
/* bh_req->b_rsector = bh->n_rsector; */
bh_req->b_end_io = raid1_end_request;
- bh_req->b_dev_id = r1_bh;
+ bh_req->b_private = r1_bh;
q = blk_get_queue(bh_req->b_rdev);
generic_make_request (q, rw, bh_req);
return 0;
@@ -679,7 +680,7 @@
mbh->b_data = bh->b_data;
mbh->b_list = BUF_LOCKED;
mbh->b_end_io = raid1_end_request;
- mbh->b_dev_id = r1_bh;
+ mbh->b_private = r1_bh;
mbh->b_next = r1_bh->mirror_bh_list;
r1_bh->mirror_bh_list = mbh;
@@ -1192,7 +1193,7 @@
mbh->b_data = bh->b_data;
mbh->b_list = BUF_LOCKED;
mbh->b_end_io = end_sync_write;
- mbh->b_dev_id = r1_bh;
+ mbh->b_private = r1_bh;
mbh->b_next = r1_bh->mirror_bh_list;
r1_bh->mirror_bh_list = mbh;
@@ -1207,7 +1208,7 @@
mbh = mbh->b_next;
q = blk_get_queue(bh1->b_rdev);
generic_make_request(q, WRITE, bh1);
- drive_stat_acct(bh1->b_rdev, WRITE, -bh1->b_size/512, 0);
+ md_sync_acct(bh1->b_rdev, bh1->b_size/512);
}
} else {
dev = bh->b_dev;
@@ -1430,13 +1431,13 @@
if (bh->b_data != (char *) page_address(bh->b_page))
BUG();
bh->b_end_io = end_sync_read;
- bh->b_dev_id = (void *) r1_bh;
+ bh->b_private = r1_bh;
bh->b_rsector = block_nr<<1;
init_waitqueue_head(&bh->b_wait);
q = blk_get_queue(bh->b_rdev);
generic_make_request(q, READ, bh);
- drive_stat_acct(bh->b_rdev, READ, -bh->b_size/512, 0);
+ md_sync_acct(bh->b_rdev, bh->b_size/512);
return (bsize >> 10);
@@ -1448,7 +1449,7 @@
static void end_sync_read(struct buffer_head *bh, int uptodate)
{
- struct raid1_bh * r1_bh = (struct raid1_bh *)(bh->b_dev_id);
+ struct raid1_bh * r1_bh = (struct raid1_bh *)(bh->b_private);
/* we have read a block, now it needs to be re-written,
* or re-read if the read failed.
@@ -1463,7 +1464,7 @@
static void end_sync_write(struct buffer_head *bh, int uptodate)
{
- struct raid1_bh * r1_bh = (struct raid1_bh *)(bh->b_dev_id);
+ struct raid1_bh * r1_bh = (struct raid1_bh *)(bh->b_private);
if (!uptodate)
md_error (mddev_to_kdev(r1_bh->mddev), bh->b_dev);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)