On Fri, Nov 03, 2017 at 10:13:38AM -0600, Liu Bo wrote: > Hi Shaohua, > > Given it's related to md, can you please take this thru your tree? Yes, the patch makes sense. Can you resend the patch to me? I can't find it in my inbox Thanks, Shaohua > Thanks, > > -liubo > > On Wed, Sep 27, 2017 at 04:13:17PM -0600, Liu Bo wrote: > > 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@xxxxxxxxxx> > > --- > > block/badblocks.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/block/badblocks.c b/block/badblocks.c > > index 43c7116..91f7bcf 100644 > > --- a/block/badblocks.c > > +++ b/block/badblocks.c > > @@ -178,7 +178,7 @@ int badblocks_set(struct badblocks *bb, sector_t s, int sectors, > > > > if (bb->shift < 0) > > /* badblocks are disabled */ > > - return 0; > > + return 1; > > > > if (bb->shift) { > > /* round the start down, and the end up */ > > -- > > 2.9.4 > >