from a different NID, so we do not need to wait for the export to be
evicted
+Severity : major
+Frequency : rare, only if using MMP with Linux RAID
+Bugzilla : 17895
+Description: MMP doesn't work with Linux RAID
+Details : While using HA for Lustre servers with Linux RAID, it is possible
+ that MMP will not detect multiple mounts. To make this work we
+ need to unplug the device queue in RAID when the MMP block is being
+ written. Also while reading the MMP block, we should read it from
+ disk and not the cached one.
+
--------------------------------------------------------------------------------
2007-08-10 Cluster File Systems, Inc. <info@clusterfs.com>
--- /dev/null
+Index: linux-2.6.16.60-0.33/drivers/md/raid5.c
+===================================================================
+--- linux-2.6.16.60-0.33.orig/drivers/md/raid5.c
++++ linux-2.6.16.60-0.33/drivers/md/raid5.c
+@@ -900,6 +900,8 @@ static int add_stripe_bio(struct stripe_
+ bi->bi_next = *bip;
+ *bip = bi;
+ bi->bi_phys_segments ++;
++ if (bio_sync(bi) && !forwrite)
++ clear_bit(R5_UPTODATE, &sh->dev[dd_idx].flags); /* force to read from disk. */
+ spin_unlock_irq(&conf->device_lock);
+ spin_unlock(&sh->lock);
+
+@@ -1617,6 +1619,8 @@ static int make_request (request_queue_t
+ bi->bi_end_io(bi, bytes, 0);
+ }
+ spin_unlock_irq(&conf->device_lock);
++ if (bio_sync(bi))
++ raid5_unplug_device(q);
+ return 0;
+ }
+
--- /dev/null
+Index: linux-2.6.22.14/drivers/md/raid5.c
+===================================================================
+--- linux-2.6.22.14.orig/drivers/md/raid5.c
++++ linux-2.6.22.14/drivers/md/raid5.c
+@@ -1268,6 +1268,8 @@ static int add_stripe_bio(struct stripe_
+ bi->bi_next = *bip;
+ *bip = bi;
+ bi->bi_phys_segments ++;
++ if (bio_sync(bi) && !forwrite)
++ clear_bit(R5_UPTODATE, &sh->dev[dd_idx].flags); /* force to read from disk. */
+ spin_unlock_irq(&conf->device_lock);
+ spin_unlock(&sh->lock);
+
+@@ -2972,6 +2974,8 @@ static int make_request(request_queue_t
+ test_bit(BIO_UPTODATE, &bi->bi_flags)
+ ? 0 : -EIO);
+ }
++ if (bio_sync(bi))
++ raid5_unplug_device(q);
+ return 0;
+ }
+
md-soft-lockups.patch
jbd-journal-chksum-2.6.18-vanilla.patch
quota-large-limits-rhel5.patch
+md-mmp-unplug-dev.patch
export-nr_free_buffer_pages.patch
fmode-exec-2.6-sles10.patch
quota-large-limits-sles10.patch
+md-mmp-unplug-dev-sles10.patch
export-show_task-2.6.18-vanilla.patch
sd_iostats-2.6.22-vanilla.patch
quota-large-limits-rhel5.patch
+md-mmp-unplug-dev.patch