lkml.org 
[lkml]   [2004]   [Mar]   [15]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateMon, 15 Mar 2004 13:18:52 -0800
FromAndrew Morton <>
SubjectRe: 2.6.4-mm2
Thomas Schlichter <thomas.schlichter@web.de> wrote:
>
> ith 2.6.4-mm2 I get following badness on boot:
> 
> Badness in as_insert_request at drivers/block/as-iosched.c:1513
> Call Trace:
>  [<c022e326>] as_insert_request+0x166/0x190
>  [<c0225af8>] __elv_add_request+0x28/0x60
>  [<c0228b9b>] __make_request+0x47b/0x540
>  [<c0228d75>] generic_make_request+0x115/0x1d0
>  [<c011efd0>] autoremove_wake_function+0x0/0x40
>  [<c0228e80>] submit_bio+0x50/0xf0
>  [<c0162f58>] __bio_add_page+0x88/0x110

Someone got his bitmasks and bitshifts mixed up again ;)


 25-akpm/include/linux/bio.h   |    1 +
 25-akpm/include/linux/fs.h    |    4 ++--
 25-akpm/kernel/power/pmdisk.c |    2 +-
 drivers/md/md.c               |    0 
 4 files changed, 4 insertions(+), 3 deletions(-)
diff -puN drivers/md/md.c~per-backing_dev-unplugging-BIO_RW_SYNC-fix drivers/md/md.c
diff -puN include/linux/bio.h~per-backing_dev-unplugging-BIO_RW_SYNC-fix include/linux/bio.h
--- 25/include/linux/bio.h~per-backing_dev-unplugging-BIO_RW_SYNC-fix	Mon Mar 15 13:13:06 2004
+++ 25-akpm/include/linux/bio.h	Mon Mar 15 13:14:40 2004
@@ -119,6 +119,7 @@ struct bio {
  * bit 1 -- rw-ahead when set
  * bit 2 -- barrier
  * bit 3 -- fail fast, don't want low level driver retries
+ * bit 4 -- synchronous I/O hint: the block layer will unplug immediately
  */
 #define BIO_RW		0
 #define BIO_RW_AHEAD	1
diff -puN include/linux/fs.h~per-backing_dev-unplugging-BIO_RW_SYNC-fix include/linux/fs.h
--- 25/include/linux/fs.h~per-backing_dev-unplugging-BIO_RW_SYNC-fix	Mon Mar 15 13:13:06 2004
+++ 25-akpm/include/linux/fs.h	Mon Mar 15 13:15:11 2004
@@ -83,8 +83,8 @@ extern int leases_enable, dir_notify_ena
 #define WRITE 1
 #define READA 2		/* read-ahead  - don't block if no resources */
 #define SPECIAL 4	/* For non-blockdevice requests in request queue */
-#define READ_SYNC	(READ | BIO_RW_SYNC)
-#define WRITE_SYNC	(WRITE | BIO_RW_SYNC)
+#define READ_SYNC	(READ | (1 << BIO_RW_SYNC))
+#define WRITE_SYNC	(WRITE | (1 << BIO_RW_SYNC))
 
 #define SEL_IN		1
 #define SEL_OUT		2
diff -puN kernel/power/pmdisk.c~per-backing_dev-unplugging-BIO_RW_SYNC-fix kernel/power/pmdisk.c
--- 25/kernel/power/pmdisk.c~per-backing_dev-unplugging-BIO_RW_SYNC-fix	Mon Mar 15 13:13:06 2004
+++ 25-akpm/kernel/power/pmdisk.c	Mon Mar 15 13:15:33 2004
@@ -897,7 +897,7 @@ static int submit(int rw, pgoff_t page_o
 	if (rw == WRITE)
 		bio_set_pages_dirty(bio);
 	start_io();
-	submit_bio(rw|BIO_RW_SYNC,bio);
+	submit_bio(rw | (1 << BIO_RW_SYNC), bio);
 	wait_io();
  Done:
 	bio_put(bio);
_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:01    [from the cache]
©2003-2008