-diff -ur linux-2.6.5-lnxi.orig/fs/block_dev.c linux-2.6.5-lnxi/fs/block_dev.c
---- linux-2.6.5-lnxi.orig/fs/block_dev.c 2004-11-11 07:28:30.000000000 -0800
-+++ linux-2.6.5-lnxi/fs/block_dev.c 2005-04-11 09:49:01.891407856 -0700
-@@ -739,6 +739,7 @@ int blkdev_put(struct block_device *bdev
+Index: linux-2.6.9/fs/block_dev.c
+===================================================================
+--- linux-2.6.9.orig/fs/block_dev.c
++++ linux-2.6.9/fs/block_dev.c
+@@ -744,6 +744,7 @@ int blkdev_put(struct block_device *bdev
+ blkdev_put(bdev->bd_contains);
+ }
+ bdev->bd_contains = NULL;
++ dev_clear_rdonly(bdev);