Re: tcq problem details Re: vanilla 2.5.13 severe file system corruption experienced follozing e2fsck ...

From: Jens Axboe (axboe@suse.de)
Date: Mon May 06 2002 - 08:18:05 EST


On Mon, May 06 2002, Jens Axboe wrote:
> Agrh, that's a silly bug in blk_queue_init_tags(). Could you replace the
> memset() of tags->tag_index in there with something ala:

Brown paper bag time, this should make it work. Linus, please apply.

# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
# ChangeSet 1.549 -> 1.550
# drivers/block/ll_rw_blk.c 1.64 -> 1.65
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/05/06 axboe@burns.home.kernel.dk 1.550
# Transposed the last two arguments to memset, causing a slab poisoned
# kernel not to use tagging correctly... Brown paper bag stuff.
# --------------------------------------------
#
diff -Nru a/drivers/block/ll_rw_blk.c b/drivers/block/ll_rw_blk.c
--- a/drivers/block/ll_rw_blk.c Mon May 6 15:17:09 2002
+++ b/drivers/block/ll_rw_blk.c Mon May 6 15:17:09 2002
@@ -358,8 +358,8 @@
         if (!tags->tag_map)
                 goto fail_map;
 
- memset(tags->tag_index, depth * sizeof(struct request *), 0);
- memset(tags->tag_map, bits * sizeof(unsigned long), 0);
+ memset(tags->tag_index, 0, depth * sizeof(struct request *));
+ memset(tags->tag_map, 0, bits * sizeof(unsigned long));
         INIT_LIST_HEAD(&tags->busy_list);
         tags->busy = 0;
         tags->max_depth = depth;

-- 
Jens Axboe

- 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/



This archive was generated by hypermail 2b29 : Tue May 07 2002 - 22:00:26 EST