Commit 8e2a19e7 authored by Neil Brown's avatar Neil Brown Committed by Trond Myklebust

[PATCH] MD - 27 - Remove state field from multipath mp_bh structure.

Remove state field from multipath mp_bh structure.

The MPBH_Uptodate flag is set but never used,
The MPBH_SyncPhase flag was never used.
These a both legacy from the copying of raid1.c

MPBH_PreAlloc is no longer needed as due to use of
mempools, so the state field can go...
parent e18a7e5c
...@@ -130,24 +130,6 @@ void multipath_end_request(struct bio *bio) ...@@ -130,24 +130,6 @@ void multipath_end_request(struct bio *bio)
int uptodate = test_bit(BIO_UPTODATE, &bio->bi_flags); int uptodate = test_bit(BIO_UPTODATE, &bio->bi_flags);
struct multipath_bh * mp_bh = (struct multipath_bh *)(bio->bi_private); struct multipath_bh * mp_bh = (struct multipath_bh *)(bio->bi_private);
/*
* this branch is our 'one multipath IO has finished' event handler:
*/
if (!uptodate)
md_error (mp_bh->mddev, bio->bi_bdev);
else
/*
* Set MPBH_Uptodate in our master buffer_head, so that
* we will return a good error code for to the higher
* levels even if IO on some other multipathed buffer fails.
*
* The 'master' represents the complex operation to
* user-side. So if something waits for IO, then it will
* wait for the 'master' buffer_head.
*/
set_bit (MPBH_Uptodate, &mp_bh->state);
if (uptodate) { if (uptodate) {
multipath_end_bh_io(mp_bh, uptodate); multipath_end_bh_io(mp_bh, uptodate);
return; return;
...@@ -155,6 +137,7 @@ void multipath_end_request(struct bio *bio) ...@@ -155,6 +137,7 @@ void multipath_end_request(struct bio *bio)
/* /*
* oops, IO error: * oops, IO error:
*/ */
md_error (mp_bh->mddev, bio->bi_bdev);
printk(KERN_ERR "multipath: %s: rescheduling sector %lu\n", printk(KERN_ERR "multipath: %s: rescheduling sector %lu\n",
bdev_partition_name(bio->bi_bdev), bio->bi_sector); bdev_partition_name(bio->bi_bdev), bio->bi_sector);
multipath_reschedule_retry(mp_bh); multipath_reschedule_retry(mp_bh);
......
...@@ -49,14 +49,9 @@ struct multipath_bh { ...@@ -49,14 +49,9 @@ struct multipath_bh {
* used from IRQ handlers * used from IRQ handlers
*/ */
int cmd; int cmd;
unsigned long state;
mddev_t *mddev; mddev_t *mddev;
struct bio *master_bio; struct bio *master_bio;
struct bio *bio; struct bio *bio;
struct multipath_bh *next_mp; /* next for retry or in free list */ struct multipath_bh *next_mp; /* next for retry or in free list */
}; };
/* bits for multipath_bh.state */
#define MPBH_Uptodate 1
#define MPBH_SyncPhase 2
#define MPBH_PreAlloc 3 /* this was pre-allocated, add to free list */
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment