badblocks: fix wrong return value in badblocks_set if badblocks are disabled
authorLiu Bo <bo.li.liu@oracle.com>
Fri, 3 Nov 2017 17:24:44 +0000 (11:24 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Dec 2017 09:10:26 +0000 (10:10 +0100)
commitddf2588a05c820b305bc6db2fe6e498a3bc6fde9
treea3d026e2e8d6285c7e2d1a2548447ce95dc829a6
parentf6a341e87c656f1e2e9959cfdd2d02561724558f
badblocks: fix wrong return value in badblocks_set if badblocks are disabled

[ Upstream commit 39b4954c0a1556f8f7f1fdcf59a227117fcd8a0b ]

MD's rdev_set_badblocks() expects that badblocks_set() returns 1 if
badblocks are disabled, otherwise, rdev_set_badblocks() will record
superblock changes and return success in that case and md will fail to
report an IO error which it should.

This bug has existed since badblocks were introduced in commit
9e0e252a048b ("badblocks: Add core badblock management code").

Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Acked-by: Guoqing Jiang <gqjiang@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
block/badblocks.c