+This patch is no longer needed for Lustre. It is only included
+for testing and ease of using the same kernel with older Lustre
+versions. This testing functionality was replaced in Linux 3.0
+by the dm-flakey driver.
+
This functionality is mainly used during testing, in order to
simulate a server crash for ldiskfs by discarding all of the
writes to the filesystem. For recovery testing we could simulate
failure if the data is ever read from disk again and the
checksum does not match that expected by the block pointer.
-Initial efforts to remove this patch are under way in bug 20776.
-Once this work comes to fruition this patch can be dropped.
-
Index: linux-2.6.32-131.0.15.el6.x86_64/block/blk-core.c
===================================================================
--- linux-2.6.32-131.0.15.el6.x86_64.orig/block/blk-core.c 2011-05-10 21:38:33.000000000 +0300
/*
* Check whether this bio extends beyond the end of the device.
*/
-@@ -1517,6 +1519,21 @@ static inline void __generic_make_reques
+@@ -1517,6 +1519,12 @@ static inline void __generic_make_reques
if (unlikely(test_bit(QUEUE_FLAG_DEAD, &q->queue_flags)))
goto end_io;
-+ /* this is cfs's dev_rdonly check */
-+ if (bio_rw(bio) == WRITE && dev_check_rdonly(bio->bi_bdev)) {
-+ struct block_device *bdev = bio->bi_bdev;
-+
-+ printk(KERN_WARNING "Write to readonly device %s (%#x) "
-+ "bi_flags: %lx, bi_vcnt: %d, bi_idx: %d, "
-+ "bi->size: %d, bi_cnt: %d, bi_private: %p\n",
-+ bdev->bd_disk ? bdev->bd_disk->disk_name : "",
-+ bdev->bd_dev, bio->bi_flags, bio->bi_vcnt,
-+ bio->bi_idx, bio->bi_size,
-+ atomic_read(&bio->bi_cnt), bio->bi_private);
-+ err = 0;
-+ goto end_io;
-+ }
++ /* this is cfs's dev_rdonly check */
++ if (bio_rw(bio) == WRITE && dev_check_rdonly(bio->bi_bdev)) {
++ err = 0;
++ goto end_io;
++ }
+
if (should_fail_request(bio))
goto end_io;
-@@ -2628,6 +2647,99 @@ int kblockd_schedule_work(struct request
+@@ -2619,6 +2638,99 @@ int kblockd_schedule_work(struct request
}
EXPORT_SYMBOL(kblockd_schedule_work);