[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1454332202-13368-1-git-send-email-javier@javigon.com>
Date: Mon, 1 Feb 2016 14:10:02 +0100
From: "Javier González" <jg@...htnvm.io>
To: mb@...htnvm.io
Cc: linux-kernel@...r.kernel.org, linux-block@...r.kernel.org,
Javier González <javier@...xlabs.com>
Subject: [PATCH] lightnvm: invalidate addresses on multipage fail
If a page mapping fails when mapping several pages in a single write bio
request, make sure that already mapped pages are invalidated. Since
other legit mappings coming from a different bio request might have
occurred, rolling back the failed bio is a difficult, unnecessary
overhead; in part because when a mapping fails something bad has
happened already. Still, invalidating pages in the failed bio will help
GC.
Signed-off-by: Javier González <javier@...xlabs.com>
---
drivers/lightnvm/rrpc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/lightnvm/rrpc.c b/drivers/lightnvm/rrpc.c
index c4d0b04..29befe9 100644
--- a/drivers/lightnvm/rrpc.c
+++ b/drivers/lightnvm/rrpc.c
@@ -730,6 +730,7 @@ static int rrpc_read_ppalist_rq(struct rrpc *rrpc, struct bio *bio,
} else {
BUG_ON(is_gc);
rrpc_unlock_laddr(rrpc, r);
+ rrpc_invalidate_range(rrpc, laddr, i + 1);
nvm_dev_dma_free(rrpc->dev, rqd->ppa_list,
rqd->dma_ppa_list);
return NVM_IO_DONE;
--
2.1.4
Powered by blists - more mailing lists