From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754641AbcJEVjw (ORCPT ); Wed, 5 Oct 2016 17:39:52 -0400 Received: from mail.kernel.org ([198.145.29.136]:45978 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753030AbcJEVju (ORCPT ); Wed, 5 Oct 2016 17:39:50 -0400 Date: Wed, 5 Oct 2016 14:39:45 -0700 From: Shaohua Li To: Sitsofe Wheeler Cc: Jens Axboe , linux-raid@vger.kernel.org, linux-block@vger.kernel.org, "linux-kernel@vger.kernel.org" Subject: Re: kernel BUG at block/bio.c:1785 while trying to issue a discard to LVM on RAID1 md Message-ID: <20161005213945.GA84123@kernel.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 05, 2016 at 10:31:11PM +0100, Sitsofe Wheeler wrote: > On 3 October 2016 at 17:47, Sitsofe Wheeler wrote: > > > > While trying to do a discard (via blkdiscard --length 1048576 > > /dev/) to an LVM device atop a two disk md RAID1 the > > following oops was generated: > > > > [ 103.306243] md: resync of RAID array md127 > > [ 103.306246] md: minimum _guaranteed_ speed: 1000 KB/sec/disk. > > [ 103.306248] md: using maximum available idle IO bandwidth (but not > > more than 200000 KB/sec) for resync. > > [ 103.306251] md: using 128k window, over a total of 244194432k. > > [ 103.308158] ------------[ cut here ]------------ > > [ 103.308205] kernel BUG at block/bio.c:1785! > > This still seems to be here but slightly modified with a 4.8.0 kernel: Does this fix the issue? Looks there is IO error diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 21dc00e..349eb11 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@ -2196,7 +2196,6 @@ static int narrow_write_error(struct r1bio *r1_bio, int i) wbio = bio_clone_mddev(r1_bio->master_bio, GFP_NOIO, mddev); } - bio_set_op_attrs(wbio, REQ_OP_WRITE, 0); wbio->bi_iter.bi_sector = r1_bio->sector; wbio->bi_iter.bi_size = r1_bio->sectors << 9;