lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20130428101027.GA1753@kernel.org>
Date:	Sun, 28 Apr 2013 18:10:27 +0800
From:	Shaohua Li <shli@...nel.org>
To:	Markus <M4rkusXXL@....de>
Cc:	lkml <linux-kernel@...r.kernel.org>, Jens Axboe <axboe@...nel.dk>
Subject: Re: hybrid raid1 with trim support [REGRESSION]

On Sun, Apr 28, 2013 at 11:40:42AM +0200, Markus wrote:
> Hi!
> 
> Thanks for your work. The patch seems to work for me on a vanilla 3.8.10, at 
> least the hdds are no longer dropped from the raid.
> The code now ignores some request? What was the reason the disks fell off the 
> raid? The discards are still passed to the ssd?
Thanks for testing, I'll send to Neil soon.

Yes, the discard will still be passed to SSD, we just ignore the request for harddisk.

Thanks,
Shaohua
 
> Thanks,
> Markus
> 
> 
> Shaohua Li schrieb am 28.04.2013:
> > On Sun, Apr 28, 2013 at 08:54:46AM +0800, Shaohua Li wrote:
> > > On Sat, Apr 27, 2013 at 06:29:49PM +0200, Markus wrote:
> > > > Hi!
> > > > 
> > > > Now I had the time to bisect, started with 3.7 as good and 3.8 as bad.
> > > > 0cfbcafcae8b7364b5fa96c2b26ccde7a3a296a9 is the bad commit. [1]
> > > > block: add plug for blkdev_issue_discard
> > > > 
> > > > While 3.8.10 was still bad, the same kernel with the reverted patch 
> applied is fine.
> > > Thanks for the reporting. Does below patch work for you?
> > Oops, there is a typo there, should be this one:
> > 
> > ---
> >  drivers/md/raid1.c  |    7 ++++++-
> >  drivers/md/raid10.c |    7 ++++++-
> >  2 files changed, 12 insertions(+), 2 deletions(-)
> > 
> > Index: linux/drivers/md/raid1.c
> > ===================================================================
> > --- linux.orig/drivers/md/raid1.c	2013-03-07 14:14:05.950824173 +0800
> > +++ linux/drivers/md/raid1.c	2013-04-28 08:57:17.874058434 +0800
> > @@ -981,7 +981,12 @@ static void raid1_unplug(struct blk_plug
> >  	while (bio) { /* submit pending writes */
> >  		struct bio *next = bio->bi_next;
> >  		bio->bi_next = NULL;
> > -		generic_make_request(bio);
> > +		if (unlikely((bio->bi_rw & REQ_DISCARD) &&
> > +		    !blk_queue_discard(bdev_get_queue(bio->bi_bdev))))
> > +			/* Just ignore it */
> > +			bio_endio(bio, 0);
> > +		else
> > +			generic_make_request(bio);
> >  		bio = next;
> >  	}
> >  	kfree(plug);
> > Index: linux/drivers/md/raid10.c
> > ===================================================================
> > --- linux.orig/drivers/md/raid10.c	2013-03-07 14:14:05.950824173 +0800
> > +++ linux/drivers/md/raid10.c	2013-04-28 08:57:44.765719067 +0800
> > @@ -1133,7 +1133,12 @@ static void raid10_unplug(struct blk_plu
> >  	while (bio) { /* submit pending writes */
> >  		struct bio *next = bio->bi_next;
> >  		bio->bi_next = NULL;
> > -		generic_make_request(bio);
> > +		if (unlikely((bio->bi_rw & REQ_DISCARD) &&
> > +		    !blk_queue_discard(bdev_get_queue(bio->bi_bdev))))
> > +			/* Just ignore it */
> > +			bio_endio(bio, 0);
> > +		else
> > +			generic_make_request(bio);
> >  		bio = next;
> >  	}
> >  	kfree(plug);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ