From 0a1425645208cfd75aae9e8422fd87318d7667b6 Mon Sep 17 00:00:00 2001 From: Daniel Kobras Date: Sun, 27 Aug 2006 01:23:24 -0700 Subject: [PATCH] --- yaml --- r: 33620 b: refs/heads/master c: c06aad854fdb9da38fcc22dccfe9d72919453e43 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/md/dm-raid1.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 9651e1da4cf3..15a6ea4b4241 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9a654518e1b774b8e8f74a819fd12a931e7672c9 +refs/heads/master: c06aad854fdb9da38fcc22dccfe9d72919453e43 diff --git a/trunk/drivers/md/dm-raid1.c b/trunk/drivers/md/dm-raid1.c index be48cedf986b..c54de989eb00 100644 --- a/trunk/drivers/md/dm-raid1.c +++ b/trunk/drivers/md/dm-raid1.c @@ -255,7 +255,9 @@ static struct region *__rh_alloc(struct region_hash *rh, region_t region) struct region *reg, *nreg; read_unlock(&rh->hash_lock); - nreg = mempool_alloc(rh->region_pool, GFP_NOIO); + nreg = mempool_alloc(rh->region_pool, GFP_ATOMIC); + if (unlikely(!nreg)) + nreg = kmalloc(sizeof(struct region), GFP_NOIO); nreg->state = rh->log->type->in_sync(rh->log, region, 1) ? RH_CLEAN : RH_NOSYNC; nreg->rh = rh;