diff options
author | Boaz Harrosh <bharrosh@panasas.com> | 2012-06-08 04:30:40 +0300 |
---|---|---|
committer | Boaz Harrosh <bharrosh@panasas.com> | 2012-07-20 11:47:43 +0300 |
commit | 62b62ad873f2accad9222a4d7ffbe1e93f6714c1 (patch) | |
tree | 381293407edb110b77e2133be29c3af13a58468d /fs/exofs | |
parent | 9ff19309a9623f2963ac5a136782ea4d8b5d67fb (diff) | |
download | kernel_goldelico_gta04-62b62ad873f2accad9222a4d7ffbe1e93f6714c1.zip kernel_goldelico_gta04-62b62ad873f2accad9222a4d7ffbe1e93f6714c1.tar.gz kernel_goldelico_gta04-62b62ad873f2accad9222a4d7ffbe1e93f6714c1.tar.bz2 |
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>
Diffstat (limited to 'fs/exofs')
-rw-r--r-- | fs/exofs/ore.c | 8 |
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) |