--- drbd.orig/drbd/drbd.c Fri May 25 13:13:22 2001 +++ drbd/drbd/drbd.c Sat Sep 8 10:04:56 2001 @@ -404,7 +404,7 @@ rlen = rlen + sprintf(buf + rlen, "\n"); - for (i = 0; i < NR_REQUEST; i++) { + for (i = 0; i < QUEUE_NR_REQUESTS; i++) { if (my_all_requests[i].rq_status == RQ_INACTIVE) { l = 'E'; } else { @@ -1079,8 +1079,8 @@ unsigned long flags; del_timer(&mdev->s_timeout); spin_lock_irqsave(¤t->sigmask_lock,flags); - if (sigismember(¤t->signal, DRBD_SIG)) { - sigdelset(¤t->signal, DRBD_SIG); + if (sigismember(¤t->pending.signal, DRBD_SIG)) { + sigdelset(¤t->pending.signal, DRBD_SIG); recalc_sigpending(current); spin_unlock_irqrestore(¤t->sigmask_lock,flags); @@ -1237,7 +1237,7 @@ void drbd_dio_end(struct buffer_head *bh, int uptodate) { - struct request *req = bh->b_dev_id; + struct request *req = bh->b_private; // READs are sorted out in drbd_end_req(). drbd_end_req(req, RQ_DRBD_WRITTEN, uptodate); @@ -1356,7 +1356,7 @@ #endif bh->b_list = BUF_LOCKED; - bh->b_dev_id = req; + bh->b_private = req; bh->b_end_io = drbd_dio_end; if(req->cmd == WRITE) @@ -2222,8 +2222,8 @@ unsigned long flags; del_timer(&accept_timeout); spin_lock_irqsave(¤t->sigmask_lock,flags); - if (sigismember(¤t->signal, DRBD_SIG)) { - sigdelset(¤t->signal, DRBD_SIG); + if (sigismember(¤t->pending.signal, DRBD_SIG)) { + sigdelset(¤t->pending.signal, DRBD_SIG); recalc_sigpending(current); spin_unlock_irqrestore(¤t->sigmask_lock, flags); @@ -2453,7 +2453,7 @@ return FALSE; mark_buffer_uptodate(bh, 0); - mark_buffer_dirty(bh, 1); + mark_buffer_dirty(bh); if (drbd_conf[minor].conf.wire_protocol == DRBD_PROT_B && header.block_id != ID_SYNCER) { @@ -2480,7 +2480,7 @@ */ if (drbd_conf[minor].conf.wire_protocol == DRBD_PROT_C) { - if (drbd_conf[minor].unacked_cnt >= (NR_REQUEST / 4)) { + if (drbd_conf[minor].unacked_cnt >= (QUEUE_NR_REQUESTS / 4)) { run_task_queue(&tq_disk); } } @@ -2869,8 +2869,8 @@ thi->t_state = Running; wake_up(&thi->wait); spin_lock_irqsave(¤t->sigmask_lock,flags); - if (sigismember(¤t->signal, SIGTERM)) { - sigdelset(¤t->signal, SIGTERM); + if (sigismember(¤t->pending.signal, SIGTERM)) { + sigdelset(¤t->pending.signal, SIGTERM); recalc_sigpending(current); } spin_unlock_irqrestore(¤t->sigmask_lock,flags);