diff options
author | Zhang Qilong <zhangqilong3@huawei.com> | 2020-12-05 19:50:56 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-12-30 11:51:27 +0100 |
commit | fad88d4625966d529c1cf210bec721a129601b72 (patch) | |
tree | 6033d718268a3de105886578474a6b34c7c7a315 /drivers/nvdimm/label.c | |
parent | b6c680755d22238f3d2d2a64412cd5a68a25aece (diff) | |
download | linux-stable-fad88d4625966d529c1cf210bec721a129601b72.tar.gz linux-stable-fad88d4625966d529c1cf210bec721a129601b72.tar.bz2 linux-stable-fad88d4625966d529c1cf210bec721a129601b72.zip |
libnvdimm/label: Return -ENXIO for no slot in __blk_label_update
[ Upstream commit 4c46764733c85b82c07e9559b39da4d00a7dd659 ]
Forget to set error code when nd_label_alloc_slot failed, and we
add it to avoid overwritten error code.
Fixes: 0ba1c634892b ("libnvdimm: write blk label set")
Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Link: https://lore.kernel.org/r/20201205115056.2076523-1-zhangqilong3@huawei.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/nvdimm/label.c')
-rw-r--r-- | drivers/nvdimm/label.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/nvdimm/label.c b/drivers/nvdimm/label.c index 47a4828b8b31..05c1f186a6be 100644 --- a/drivers/nvdimm/label.c +++ b/drivers/nvdimm/label.c @@ -999,8 +999,10 @@ static int __blk_label_update(struct nd_region *nd_region, if (is_old_resource(res, old_res_list, old_num_resources)) continue; /* carry-over */ slot = nd_label_alloc_slot(ndd); - if (slot == UINT_MAX) + if (slot == UINT_MAX) { + rc = -ENXIO; goto abort; + } dev_dbg(ndd->dev, "allocated: %d\n", slot); nd_label = to_label(ndd, slot); |