summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoaz Harrosh <bharrosh@panasas.com>2012-06-08 04:30:40 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-07-29 08:04:20 -0700
commitf6ecbea43e774dfc0b3678d2cdda9d4b43cfecf8 (patch)
tree1db462817f937f6e2046569d45a7f820caa2c236
parent0234af60fb13cbb7caa6f757e4d8e29cd87aaba6 (diff)
downloadlinux-stable-f6ecbea43e774dfc0b3678d2cdda9d4b43cfecf8.tar.gz
linux-stable-f6ecbea43e774dfc0b3678d2cdda9d4b43cfecf8.tar.bz2
linux-stable-f6ecbea43e774dfc0b3678d2cdda9d4b43cfecf8.zip
ore: Remove support of partial IO request (NFS crash)
commit 62b62ad873f2accad9222a4d7ffbe1e93f6714c1 upstream. Do to OOM situations the ore might fail to allocate all resources needed for IO of the full request. If some progress was possible it would proceed with a partial/short request, for the sake of forward progress. Since this crashes NFS-core and exofs is just fine without it just remove this contraption, and fail. TODO: Support real forward progress with some reserved allocations of resources, such as mem pools and/or bio_sets [Bug since 3.2 Kernel] CC: Benny Halevy <bhalevy@tonian.com> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--fs/exofs/ore.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/fs/exofs/ore.c b/fs/exofs/ore.c
index 49cf230554a2..24a49d47e935 100644
--- a/fs/exofs/ore.c
+++ b/fs/exofs/ore.c
@@ -735,13 +735,7 @@ static int _prepare_for_striping(struct ore_io_state *ios)
out:
ios->numdevs = devs_in_group;
ios->pages_consumed = cur_pg;
- if (unlikely(ret)) {
- if (length == ios->length)
- return ret;
- else
- ios->length -= length;
- }
- return 0;
+ return ret;
}
int ore_create(struct ore_io_state *ios)