]> git.hungrycats.org Git - linux/commitdiff
[PATCH] MD - 27 - Remove state field from multipath mp_bh structure.
authorNeil Brown <neilb@cse.unsw.edu.au>
Fri, 19 Jul 2002 02:06:46 +0000 (19:06 -0700)
committerTrond Myklebust <trond.myklebust@fys.uio.no>
Fri, 19 Jul 2002 02:06:46 +0000 (19:06 -0700)
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...

drivers/md/multipath.c
include/linux/raid/multipath.h

index ad5e8199bb0c0ead38de0143e0a0b9304e352ceb..3e05cfaa91538bbe2115a4454443aabeca48fcfa 100644 (file)
@@ -130,24 +130,6 @@ void multipath_end_request(struct bio *bio)
        int uptodate = test_bit(BIO_UPTODATE, &bio->bi_flags);
        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) {
                multipath_end_bh_io(mp_bh, uptodate);
                return;
@@ -155,6 +137,7 @@ void multipath_end_request(struct bio *bio)
        /*
         * oops, IO error:
         */
+       md_error (mp_bh->mddev, bio->bi_bdev);
        printk(KERN_ERR "multipath: %s: rescheduling sector %lu\n", 
                 bdev_partition_name(bio->bi_bdev), bio->bi_sector);
        multipath_reschedule_retry(mp_bh);
index 657eb913adba717cf15df63db7f2a834a4957ac3..f34b54b8376708d825f8ea20ee42471ae5b251ac 100644 (file)
@@ -49,14 +49,9 @@ struct multipath_bh {
                                            * used from IRQ handlers
                                            */
        int                     cmd;
-       unsigned long           state;
        mddev_t                 *mddev;
        struct bio              *master_bio;
        struct bio              *bio;
        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