FAILED: patch "[PATCH] libnvdimm: fix clear length of nvdimm_forget_poison()" failed to apply to 4.11-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 4.11-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
8d13c0290655b883df9083a2a0af0d782bc38aefMon Sep 17 00:00:00 2001
From: Toshi Kani <[email protected]>
Date: Thu, 27 Apr 2017 16:57:05 -0600
Subject: [PATCH] libnvdimm: fix clear length of nvdimm_forget_poison()
ND_CMD_CLEAR_ERROR command returns 'clear_err.cleared', the length of error actually cleared, which may be smaller than its requested 'len'.
Change nvdimm_clear_poison() to call nvdimm_forget_poison() with 'clear_err.cleared' when this value is valid.
drivers/nvdimm/bus.c +3 -1
@@ -219,7 +219,9 @@ long nvdimm_clear_poison(struct device *dev, phys_addr_t phys,if (cmd_rc <0 )return cmd_rc; -nvdimm_forget_poison (nvdimm_bus, phys, len); +if (clear_err.cleared >0 ) +nvdimm_forget_poison (nvdimm_bus, phys, clear_err.cleared); +return clear_err.cleared; }EXPORT_SYMBOL_GPL (nvdimm_clear_poison);
Quoted 4 lines · On Thu, 2017-05-18 at 11:19 +0200, [email protected] wrote:
The patch below does not apply to the 4.11-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
Sorry for the trouble. The func name has changed in 4.12. I will send a patch that can be applied to pre-4.12 trees.
Thanks,
-Toshi
Quoted 47 lines
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From
8d13c0290655b883df9083a2a0af0d782bc38aefMon Sep 17 00:00:00 2001
From: Toshi Kani <[email protected]>
Date: Thu, 27 Apr 2017 16:57:05 -0600
Subject: [PATCH] libnvdimm: fix clear length ofnvdimm_forget_poison()
ND_CMD_CLEAR_ERRORcommand returns 'clear_err.cleared', the length of error actually cleared, which may be smaller than its requested 'len'.Change
nvdimm_clear_poison()to callnvdimm_forget_poison()with 'clear_err.cleared' when this value is valid.Cc <[email protected]>Fixes e046114af5fc ("libnvdimm: clear the internal poison_list whenclearing badblocks")
Cc Dave Jiang <[email protected]>Cc Vishal Verma <[email protected]>Signed-off-by Toshi Kani <[email protected]>Signed-off-by Dan Williams <[email protected]>drivers/nvdimm/bus.c +0
-0@@ -219,7 +219,9 @@ long nvdimm_clear_poison(struct device *dev, phys_addr_t phys, if (cmd_rc < 0) return cmd_rc;drivers/nvdimm/bus.c +2
-1-nvdimm_forget_poison (nvdimm_bus, phys, len); +if (clear_err.cleared >0 ) + nvdimm_forget_poison(nvdimm_bus, phys,clear_err.cleared);
+
return clear_err.cleared;
}
EXPORT_SYMBOL_GPL(nvdimm_clear_poison);