aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2006-12-10 05:20:50 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-10 12:57:21 -0500
commitb8c6b645563d641df91fdcfd84a9c73c91d75b61 (patch)
tree434f057ef1523fa84d8e669661c06db569a2f030 /drivers/md
parentfdee8ae4498c48b44c0eac592f9c6ed24c4517c1 (diff)
[PATCH] md: remove some old ifdefed-out code from raid5.c
There are some vestiges of old code that was used for bypassing the stripe cache on reads in raid5.c. This was never updated after the change from buffer_heads to bios, but was left as a reminder. That functionality has nowe been implemented in a completely different way, so the old code can go. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/raid5.c63
1 files changed, 0 insertions, 63 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index d855f9f59b02..347caab99ca0 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -544,35 +544,7 @@ static int raid5_end_read_request(struct bio * bi, unsigned int bytes_done,
544 } 544 }
545 545
546 if (uptodate) { 546 if (uptodate) {
547#if 0
548 struct bio *bio;
549 unsigned long flags;
550 spin_lock_irqsave(&conf->device_lock, flags);
551 /* we can return a buffer if we bypassed the cache or
552 * if the top buffer is not in highmem. If there are
553 * multiple buffers, leave the extra work to
554 * handle_stripe
555 */
556 buffer = sh->bh_read[i];
557 if (buffer &&
558 (!PageHighMem(buffer->b_page)
559 || buffer->b_page == bh->b_page )
560 ) {
561 sh->bh_read[i] = buffer->b_reqnext;
562 buffer->b_reqnext = NULL;
563 } else
564 buffer = NULL;
565 spin_unlock_irqrestore(&conf->device_lock, flags);
566 if (sh->bh_page[i]==bh->b_page)
567 set_buffer_uptodate(bh);
568 if (buffer) {
569 if (buffer->b_page != bh->b_page)
570 memcpy(buffer->b_data, bh->b_data, bh->b_size);
571 buffer->b_end_io(buffer, 1);
572 }
573#else
574 set_bit(R5_UPTODATE, &sh->dev[i].flags); 547 set_bit(R5_UPTODATE, &sh->dev[i].flags);
575#endif
576 if (test_bit(R5_ReadError, &sh->dev[i].flags)) { 548 if (test_bit(R5_ReadError, &sh->dev[i].flags)) {
577 rdev = conf->disks[i].rdev; 549 rdev = conf->disks[i].rdev;
578 printk(KERN_INFO "raid5:%s: read error corrected (%lu sectors at %llu on %s)\n", 550 printk(KERN_INFO "raid5:%s: read error corrected (%lu sectors at %llu on %s)\n",
@@ -618,14 +590,6 @@ static int raid5_end_read_request(struct bio * bi, unsigned int bytes_done,
618 } 590 }
619 } 591 }
620 rdev_dec_pending(conf->disks[i].rdev, conf->mddev); 592 rdev_dec_pending(conf->disks[i].rdev, conf->mddev);
621#if 0
622 /* must restore b_page before unlocking buffer... */
623 if (sh->bh_page[i] != bh->b_page) {
624 bh->b_page = sh->bh_page[i];
625 bh->b_data = page_address(bh->b_page);
626 clear_buffer_uptodate(bh);
627 }
628#endif
629 clear_bit(R5_LOCKED, &sh->dev[i].flags); 593 clear_bit(R5_LOCKED, &sh->dev[i].flags);
630 set_bit(STRIPE_HANDLE, &sh->state); 594 set_bit(STRIPE_HANDLE, &sh->state);
631 release_stripe(sh); 595 release_stripe(sh);
@@ -1619,15 +1583,6 @@ static void handle_stripe5(struct stripe_head *sh)
1619 } else if (test_bit(R5_Insync, &dev->flags)) { 1583 } else if (test_bit(R5_Insync, &dev->flags)) {
1620 set_bit(R5_LOCKED, &dev->flags); 1584 set_bit(R5_LOCKED, &dev->flags);
1621 set_bit(R5_Wantread, &dev->flags); 1585 set_bit(R5_Wantread, &dev->flags);
1622#if 0
1623 /* if I am just reading this block and we don't have
1624 a failed drive, or any pending writes then sidestep the cache */
1625 if (sh->bh_read[i] && !sh->bh_read[i]->b_reqnext &&
1626 ! syncing && !failed && !to_write) {
1627 sh->bh_cache[i]->b_page = sh->bh_read[i]->b_page;
1628 sh->bh_cache[i]->b_data = sh->bh_read[i]->b_data;
1629 }
1630#endif
1631 locked++; 1586 locked++;
1632 PRINTK("Reading block %d (sync=%d)\n", 1587 PRINTK("Reading block %d (sync=%d)\n",
1633 i, syncing); 1588 i, syncing);
@@ -1645,9 +1600,6 @@ static void handle_stripe5(struct stripe_head *sh)
1645 dev = &sh->dev[i]; 1600 dev = &sh->dev[i];
1646 if ((dev->towrite || i == sh->pd_idx) && 1601 if ((dev->towrite || i == sh->pd_idx) &&
1647 (!test_bit(R5_LOCKED, &dev->flags) 1602 (!test_bit(R5_LOCKED, &dev->flags)
1648#if 0
1649|| sh->bh_page[i]!=bh->b_page
1650#endif
1651 ) && 1603 ) &&
1652 !test_bit(R5_UPTODATE, &dev->flags)) { 1604 !test_bit(R5_UPTODATE, &dev->flags)) {
1653 if (test_bit(R5_Insync, &dev->flags) 1605 if (test_bit(R5_Insync, &dev->flags)
@@ -1659,9 +1611,6 @@ static void handle_stripe5(struct stripe_head *sh)
1659 /* Would I have to read this buffer for reconstruct_write */ 1611 /* Would I have to read this buffer for reconstruct_write */
1660 if (!test_bit(R5_OVERWRITE, &dev->flags) && i != sh->pd_idx && 1612 if (!test_bit(R5_OVERWRITE, &dev->flags) && i != sh->pd_idx &&
1661 (!test_bit(R5_LOCKED, &dev->flags) 1613 (!test_bit(R5_LOCKED, &dev->flags)
1662#if 0
1663|| sh->bh_page[i] != bh->b_page
1664#endif
1665 ) && 1614 ) &&
1666 !test_bit(R5_UPTODATE, &dev->flags)) { 1615 !test_bit(R5_UPTODATE, &dev->flags)) {
1667 if (test_bit(R5_Insync, &dev->flags)) rcw++; 1616 if (test_bit(R5_Insync, &dev->flags)) rcw++;
@@ -2197,15 +2146,6 @@ static void handle_stripe6(struct stripe_head *sh, struct page *tmp_page)
2197 } else if (test_bit(R5_Insync, &dev->flags)) { 2146 } else if (test_bit(R5_Insync, &dev->flags)) {
2198 set_bit(R5_LOCKED, &dev->flags); 2147 set_bit(R5_LOCKED, &dev->flags);
2199 set_bit(R5_Wantread, &dev->flags); 2148 set_bit(R5_Wantread, &dev->flags);
2200#if 0
2201 /* if I am just reading this block and we don't have
2202 a failed drive, or any pending writes then sidestep the cache */
2203 if (sh->bh_read[i] && !sh->bh_read[i]->b_reqnext &&
2204 ! syncing && !failed && !to_write) {
2205 sh->bh_cache[i]->b_page = sh->bh_read[i]->b_page;
2206 sh->bh_cache[i]->b_data = sh->bh_read[i]->b_data;
2207 }
2208#endif
2209 locked++; 2149 locked++;
2210 PRINTK("Reading block %d (sync=%d)\n", 2150 PRINTK("Reading block %d (sync=%d)\n",
2211 i, syncing); 2151 i, syncing);
@@ -2224,9 +2164,6 @@ static void handle_stripe6(struct stripe_head *sh, struct page *tmp_page)
2224 if (!test_bit(R5_OVERWRITE, &dev->flags) 2164 if (!test_bit(R5_OVERWRITE, &dev->flags)
2225 && i != pd_idx && i != qd_idx 2165 && i != pd_idx && i != qd_idx
2226 && (!test_bit(R5_LOCKED, &dev->flags) 2166 && (!test_bit(R5_LOCKED, &dev->flags)
2227#if 0
2228 || sh->bh_page[i] != bh->b_page
2229#endif
2230 ) && 2167 ) &&
2231 !test_bit(R5_UPTODATE, &dev->flags)) { 2168 !test_bit(R5_UPTODATE, &dev->flags)) {
2232 if (test_bit(R5_Insync, &dev->flags)) rcw++; 2169 if (test_bit(R5_Insync, &dev->flags)) rcw++;