]> err.no Git - linux-2.6/blobdiff - drivers/md/raid5.c
[PATCH] I2C: fix up some sysfs device attribute file parameters
[linux-2.6] / drivers / md / raid5.c
index 677ce49078daf587123b5e04c2dca9013552f15e..93a9726cc2d6793ed237bfa8d3f2a955da501667 100644 (file)
@@ -1411,8 +1411,7 @@ static int make_request (request_queue_t *q, struct bio * bi)
        sector_t logical_sector, last_sector;
        struct stripe_head *sh;
 
-       if (md_write_start(mddev, bi)==0)
-               return 0;
+       md_write_start(mddev, bi);
 
        if (bio_data_dir(bi)==WRITE) {
                disk_stat_inc(mddev->gendisk, writes);
@@ -1477,7 +1476,7 @@ static int make_request (request_queue_t *q, struct bio * bi)
 }
 
 /* FIXME go_faster isn't used */
-static int sync_request (mddev_t *mddev, sector_t sector_nr, int go_faster)
+static sector_t sync_request(mddev_t *mddev, sector_t sector_nr, int *skipped, int go_faster)
 {
        raid5_conf_t *conf = (raid5_conf_t *) mddev->private;
        struct stripe_head *sh;
@@ -1500,8 +1499,8 @@ static int sync_request (mddev_t *mddev, sector_t sector_nr, int go_faster)
         * nothing we can do.
         */
        if (mddev->degraded >= 1 && test_bit(MD_RECOVERY_SYNC, &mddev->recovery)) {
-               int rv = (mddev->size << 1) - sector_nr;
-               md_done_sync(mddev, rv, 1);
+               sector_t rv = (mddev->size << 1) - sector_nr;
+               *skipped = 1;
                return rv;
        }