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 <[email protected]>
> > ---
> > 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
> >