]> git.baikalelectronics.ru Git - kernel.git/commit
dm raid1: keep retrying alloc if mempool_alloc failed
authorMikulas Patocka <mpatocka@redhat.com>
Mon, 22 Jun 2009 09:12:13 +0000 (10:12 +0100)
committerAlasdair G Kergon <agk@redhat.com>
Mon, 22 Jun 2009 09:12:13 +0000 (10:12 +0100)
commit2574be28f1f439263e7ec6011cd3e0a1d8b973de
tree2ee7051fa43c04ab0d72487b249aa733ec129703
parent7488bc7aa24c8d416eb28ba962de58854b773e56
dm raid1: keep retrying alloc if mempool_alloc failed

If the code can't handle allocation failures, use __GFP_NOFAIL so that
in case of memory pressure the allocator will retry indefinitely and
won't return NULL which would cause a crash in the function.

This is still not a correct fix, it may cause a classic deadlock when
memory manager waits for I/O being done and I/O waits for some free memory.
I/O code shouldn't allocate any memory. But in this case it probably
doesn't matter much in practice, people usually do not swap on RAID.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/dm-region-hash.c