diff options
author | Chuck Ebbert <cebbert@redhat.com> | 2011-02-16 17:04:06 -0500 |
---|---|---|
committer | Chuck Ebbert <cebbert@redhat.com> | 2011-02-16 17:04:06 -0500 |
commit | b161e65d967a62e8c598485b7a601842cf292225 (patch) | |
tree | db07d3541286564ad6c2b0a170b245917f23f570 | |
parent | acd41dbaf4b1f634bfa0b5d1ff53704b04a09bad (diff) | |
download | kernel-b161e65d967a62e8c598485b7a601842cf292225.tar.gz kernel-b161e65d967a62e8c598485b7a601842cf292225.tar.xz kernel-b161e65d967a62e8c598485b7a601842cf292225.zip |
Revert check for read-only block device added in .38 (#672265)
-rw-r--r-- | kernel.spec | 7 | ||||
-rw-r--r-- | revert-block-check-bdev-readonly.patch | 33 |
2 files changed, 40 insertions, 0 deletions
diff --git a/kernel.spec b/kernel.spec index b9f3202c2..0c6a80c3f 100644 --- a/kernel.spec +++ b/kernel.spec @@ -738,6 +738,9 @@ Patch12440: bridge-fix-mglist-corruption-that-leads-to-memory-corruption.patch # rhbz#676860 Patch12441: usb-sierra-add-airprime-direct-ip.patch +# rhbz#672265 +Patch12442: revert-block-check-bdev-readonly.patch + %endif BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root @@ -1358,6 +1361,9 @@ ApplyPatch bridge-fix-mglist-corruption-that-leads-to-memory-corruption.patch # rhbz#676860 ApplyPatch usb-sierra-add-airprime-direct-ip.patch +# rhbz#672265 +ApplyPatch revert-block-check-bdev-readonly.patch + # END OF PATCH APPLICATIONS %endif @@ -1964,6 +1970,7 @@ fi * Wed Feb 16 2011 Chuck Ebbert <cebbert@redhat.com> - Add support for Airprime/Sierra USB IP modem (#676860) - Make virtio_console built-in on x86_64 (#677713) +- Revert check for read-only block device added in .38 (#672265) * Tue Feb 15 2011 Kyle McMartin <kmcmartin@redhat.com> 2.6.38-0.rc5.git0.1 - Linux 2.6.38-rc5 (81 minutes later...) diff --git a/revert-block-check-bdev-readonly.patch b/revert-block-check-bdev-readonly.patch new file mode 100644 index 000000000..6227f0458 --- /dev/null +++ b/revert-block-check-bdev-readonly.patch @@ -0,0 +1,33 @@ +This reverts commit 75f1dc0d076d1c1168f2115f1941ea627d38bd5a. The revert +could not be done automatically because changes after that commit +altered the code too much. + +Signed-off-by: Chuck Ebbert <cebbert@redhat.com> + +--- a/fs/block_dev.c ++++ b/fs/block_dev.c +@@ -1215,12 +1215,6 @@ int blkdev_get(struct block_device *bdev + + res = __blkdev_get(bdev, mode, 0); + +- /* __blkdev_get() may alter read only status, check it afterwards */ +- if (!res && (mode & FMODE_WRITE) && bdev_read_only(bdev)) { +- __blkdev_put(bdev, mode, 0); +- res = -EACCES; +- } +- + if (whole) { + /* finish claiming */ + mutex_lock(&bdev->bd_mutex); +@@ -1298,6 +1292,11 @@ struct block_device *blkdev_get_by_path( + if (err) + return ERR_PTR(err); + ++ if ((mode & FMODE_WRITE) && bdev_read_only(bdev)) { ++ blkdev_put(bdev, mode); ++ return ERR_PTR(-EACCES); ++ } ++ + return bdev; + } + EXPORT_SYMBOL(blkdev_get_by_path); |