block: add a bi_error field to struct bio
[linux-2.6-block.git] / drivers / block / drbd / drbd_actlog.c
index 1318e3217cb0811513c807d09261cdf63d12c682..b3868e7a1ffddbb57e7165a65b6102d872ca4983 100644 (file)
@@ -175,11 +175,11 @@ static int _drbd_md_sync_page_io(struct drbd_device *device,
        atomic_inc(&device->md_io.in_use); /* drbd_md_put_buffer() is in the completion handler */
        device->md_io.submit_jif = jiffies;
        if (drbd_insert_fault(device, (rw & WRITE) ? DRBD_FAULT_MD_WR : DRBD_FAULT_MD_RD))
-               bio_endio(bio, -EIO);
+               bio_io_error(bio);
        else
                submit_bio(rw, bio);
        wait_until_done_or_force_detached(device, bdev, &device->md_io.done);
-       if (bio_flagged(bio, BIO_UPTODATE))
+       if (!bio->bi_error)
                err = device->md_io.error;
 
  out: