summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorJavier González <javier@javigon.com>2018-06-01 16:04:19 +0300
committerJens Axboe <axboe@kernel.dk>2018-06-01 16:43:53 +0300
commite37d07983af9068de0303054542d2652ca917f58 (patch)
tree44013f3467eef1ca9230812265f4497d20feebfb /drivers
parent03a34b2d25a4ca6ba691312feaa0b4d3cb3fd63d (diff)
downloadlinux-e37d07983af9068de0303054542d2652ca917f58.tar.xz
lightnvm: pblk: warn in case of corrupted write buffer
When cleaning up buffer entries as we wrap up, their state should be "completed". If any of the entries is in "submitted" state, it means that something bad has happened. Trigger a warning immediately instead of waiting for the state flag to eventually be updated, thus hiding the issue. Signed-off-by: Javier González <javier@cnexlabs.com> Signed-off-by: Matias Bjørling <mb@lightnvm.io> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/lightnvm/pblk-rb.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/lightnvm/pblk-rb.c b/drivers/lightnvm/pblk-rb.c
index 52fdd85dbc97..58946ffebe81 100644
--- a/drivers/lightnvm/pblk-rb.c
+++ b/drivers/lightnvm/pblk-rb.c
@@ -142,10 +142,9 @@ static void clean_wctx(struct pblk_w_ctx *w_ctx)
{
int flags;
-try:
flags = READ_ONCE(w_ctx->flags);
- if (!(flags & PBLK_SUBMITTED_ENTRY))
- goto try;
+ WARN_ONCE(!(flags & PBLK_SUBMITTED_ENTRY),
+ "pblk: overwriting unsubmitted data\n");
/* Release flags on context. Protect from writes and reads */
smp_store_release(&w_ctx->flags, PBLK_WRITABLE_ENTRY);