summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoaz Harrosh <bharrosh@panasas.com>2012-06-08 04:30:40 +0300
committerBoaz Harrosh <bharrosh@panasas.com>2012-07-20 11:47:43 +0300
commit62b62ad873f2accad9222a4d7ffbe1e93f6714c1 (patch)
tree381293407edb110b77e2133be29c3af13a58468d
parent9ff19309a9623f2963ac5a136782ea4d8b5d67fb (diff)
downloadop-kernel-dev-62b62ad873f2accad9222a4d7ffbe1e93f6714c1.zip
op-kernel-dev-62b62ad873f2accad9222a4d7ffbe1e93f6714c1.tar.gz
ore: Remove support of partial IO request (NFS crash)
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: Stable Tree <stable@kernel.org> CC: Benny Halevy <bhalevy@tonian.com> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
-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 49cf230..24a49d4 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)
OpenPOWER on IntegriCloud