On Wed, Nov 25, 2015 at 11:43:33AM -0700, Vishal Verma wrote: > Retain badblocks as part of rdev, but use the accessor functions from > include/linux/badblocks for all manipulation. > > Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> > --- > drivers/md/md.c | 507 +++----------------------------------------------------- > drivers/md/md.h | 40 +---- > 2 files changed, 23 insertions(+), 524 deletions(-) > > diff --git a/drivers/md/md.c b/drivers/md/md.c > index c702de1..63eab20 100644 > --- a/drivers/md/md.c > +++ b/drivers/md/md.c > @@ -34,6 +34,7 @@ > > #include <linux/kthread.h> > #include <linux/blkdev.h> > +#include <linux/badblocks.h> > #include <linux/sysctl.h> > #include <linux/seq_file.h> > #include <linux/fs.h> > @@ -707,8 +708,7 @@ void md_rdev_clear(struct md_rdev *rdev) > put_page(rdev->bb_page); > rdev->bb_page = NULL; > } > - kfree(rdev->badblocks.page); > - rdev->badblocks.page = NULL; > + badblocks_free(&rdev->badblocks); > } why does rdev have extra badblocks? the gendisk already had one. -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html