All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lars Marowsky-Bree <lmb@suse.de>
To: syrius.ml@no-log.org, evms-devel@lists.sourceforge.net
Cc: linux-raid@vger.kernel.org
Subject: Re: [Evms-devel] 2.6.10-ac10 + 2.6.10udm1 + latest evms => not nice
Date: Fri, 21 Jan 2005 15:47:38 +0100	[thread overview]
Message-ID: <20050121144738.GM25714@marowsky-bree.de> (raw)
In-Reply-To: <87brbinaey.87acr2naey@878y6mnaey.message.id>

[-- Attachment #1: Type: text/plain, Size: 641 bytes --]

On 2005-01-21T15:13:26, syrius.ml@no-log.org wrote:

> Don't know if it's related to evms or to dm.
> kernel is a 2.6.10-ac10 + 2.6.10-udm1 + evms kernel patches.
> (bd_claims + dm bbr + dm multipath)
> 
> Here is the nice welcome message I've just got :)

This looks like md on DM breakage, which Jens has just fixed in our
kernel. I'm not sure whether he has submitted it upstream yet, but you
can give it a try.

Does the attached patch apply & fix the problem for you?


Sincerely,
    Lars Marowsky-Brée <lmb@suse.de>

-- 
High Availability & Clustering
SUSE Labs, Research and Development
SUSE LINUX Products GmbH - A Novell Business


[-- Attachment #2: md-bio-on-stack --]
[-- Type: text/plain, Size: 1518 bytes --]

From: Jens Axboe <axboe@suse.de>
Subject: Fix md using bio on stack with bio clones
Patch-mainline: 
References: 49931

If md resides on top of a driver using bio_clone() (such as dm), it will
oops the kernel due to md submitting a botched bio that has a veclist but
doesn't have bio->bi_max_vecs set.

Acked-by: 
Signed-off-by: Jens Axboe <axboe@suse.de>

===== drivers/md/md.c 1.231 vs edited =====
--- 1.231/drivers/md/md.c	2004-12-01 09:13:51 +01:00
+++ edited/drivers/md/md.c	2005-01-19 13:23:30 +01:00
@@ -332,29 +332,26 @@
 static int sync_page_io(struct block_device *bdev, sector_t sector, int size,
 		   struct page *page, int rw)
 {
-	struct bio bio;
-	struct bio_vec vec;
+	struct bio *bio = bio_alloc(GFP_KERNEL, 1);
 	struct completion event;
+	int ret;
+
+	bio_get(bio);
 
 	rw |= (1 << BIO_RW_SYNC);
 
-	bio_init(&bio);
-	bio.bi_io_vec = &vec;
-	vec.bv_page = page;
-	vec.bv_len = size;
-	vec.bv_offset = 0;
-	bio.bi_vcnt = 1;
-	bio.bi_idx = 0;
-	bio.bi_size = size;
-	bio.bi_bdev = bdev;
-	bio.bi_sector = sector;
+	bio->bi_bdev = bdev;
+	bio->bi_sector = sector;
+	bio_add_page(bio, page, size, 0);
 	init_completion(&event);
-	bio.bi_private = &event;
-	bio.bi_end_io = bi_complete;
-	submit_bio(rw, &bio);
+	bio->bi_private = &event;
+	bio->bi_end_io = bi_complete;
+	submit_bio(rw, bio);
 	wait_for_completion(&event);
 
-	return test_bit(BIO_UPTODATE, &bio.bi_flags);
+	ret = test_bit(BIO_UPTODATE, &bio->bi_flags);
+	bio_put(bio);
+	return ret;
 }
 
 static int read_disk_sb(mdk_rdev_t * rdev)

       reply	other threads:[~2005-01-21 14:47 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87brbinaey.87acr2naey@878y6mnaey.message.id>
2005-01-21 14:47 ` Lars Marowsky-Bree [this message]
2005-01-21 17:53   ` [Evms-devel] 2.6.10-ac10 + 2.6.10udm1 + latest evms => not nice syrius.ml
2005-01-21 18:04   ` Kevin Corry
     [not found]   ` <200501210901.11031.kevcorry@us.ibm.com>
2005-01-21 18:05     ` Kevin Corry

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050121144738.GM25714@marowsky-bree.de \
    --to=lmb@suse.de \
    --cc=evms-devel@lists.sourceforge.net \
    --cc=linux-raid@vger.kernel.org \
    --cc=syrius.ml@no-log.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.