diff options
author | Alexei Naberezhnov <anaberezhnov@fb.com> | 2018-03-28 01:54:16 +0200 |
---|---|---|
committer | Song Liu <songliubraving@fb.com> | 2019-01-28 20:44:40 +0100 |
commit | 483cbbeddd5fe2c80fd4141ff0748fa06c4ff146 (patch) | |
tree | 3ebb98292523a656d752359fff20b39978d7e31d /drivers/usb/Kconfig | |
parent | Linux 5.0-rc4 (diff) | |
download | linux-483cbbeddd5fe2c80fd4141ff0748fa06c4ff146.tar.xz linux-483cbbeddd5fe2c80fd4141ff0748fa06c4ff146.zip |
md/raid5: fix 'out of memory' during raid cache recovery
This fixes the case when md array assembly fails because of raid cache recovery
unable to allocate a stripe, despite attempts to replay stripes and increase
cache size. This happens because stripes released by r5c_recovery_replay_stripes
and raid5_set_cache_size don't become available for allocation immediately.
Released stripes first are placed on conf->released_stripes list and require
md thread to merge them on conf->inactive_list before they can be allocated.
Patch allows final allocation attempt during cache recovery to wait for
new stripes to become availabe for allocation.
Cc: linux-raid@vger.kernel.org
Cc: Shaohua Li <shli@kernel.org>
Cc: linux-stable <stable@vger.kernel.org> # 4.10+
Fixes: b4c625c67362 ("md/r5cache: r5cache recovery: part 1")
Signed-off-by: Alexei Naberezhnov <anaberezhnov@fb.com>
Signed-off-by: Song Liu <songliubraving@fb.com>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions