]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block
authorLinus Torvalds <torvalds@g5.osdl.org>
Mon, 27 Mar 2006 16:46:49 +0000 (08:46 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 27 Mar 2006 16:46:49 +0000 (08:46 -0800)
* 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block:
  [PATCH] Don't make debugfs depend on DEBUG_KERNEL
  [PATCH] Fix blktrace compile with sysfs not defined
  [PATCH] unused label in drivers/block/cciss.
  [BLOCK] increase size of disk stat counters
  [PATCH] blk_execute_rq_nowait-speedup
  [PATCH] ide-cd: quiet down GPCMD_READ_CDVD_CAPACITY failure
  [BLOCK] ll_rw_blk: kmalloc -> kzalloc conversion
  [PATCH] kzalloc() conversion in drivers/block
  [PATCH] update max_sectors documentation

1  2 
block/ll_rw_blk.c
include/linux/genhd.h

diff --combined block/ll_rw_blk.c
index a2e333ad0b64056da078623a1c2ccb31b26d0789,7fc903b5f3cd1c765acbc25e45886a80e1590e5b..82469db25100c12e6f01528763725504976291ea
@@@ -785,8 -785,6 +785,8 @@@ void blk_queue_stack_limits(request_que
        t->max_hw_segments = min(t->max_hw_segments,b->max_hw_segments);
        t->max_segment_size = min(t->max_segment_size,b->max_segment_size);
        t->hardsect_size = max(t->hardsect_size,b->hardsect_size);
 +      if (!test_bit(QUEUE_FLAG_CLUSTER, &b->queue_flags))
 +              clear_bit(QUEUE_FLAG_CLUSTER, &t->queue_flags);
  }
  
  EXPORT_SYMBOL(blk_queue_stack_limits);
@@@ -908,17 -906,15 +908,15 @@@ init_tag_map(request_queue_t *q, struc
                                __FUNCTION__, depth);
        }
  
-       tag_index = kmalloc(depth * sizeof(struct request *), GFP_ATOMIC);
+       tag_index = kzalloc(depth * sizeof(struct request *), GFP_ATOMIC);
        if (!tag_index)
                goto fail;
  
        nr_ulongs = ALIGN(depth, BITS_PER_LONG) / BITS_PER_LONG;
-       tag_map = kmalloc(nr_ulongs * sizeof(unsigned long), GFP_ATOMIC);
+       tag_map = kzalloc(nr_ulongs * sizeof(unsigned long), GFP_ATOMIC);
        if (!tag_map)
                goto fail;
  
-       memset(tag_index, 0, depth * sizeof(struct request *));
-       memset(tag_map, 0, nr_ulongs * sizeof(unsigned long));
        tags->real_max_depth = depth;
        tags->max_depth = depth;
        tags->tag_index = tag_index;
@@@ -2481,10 -2477,12 +2479,12 @@@ void blk_execute_rq_nowait(request_queu
        rq->rq_disk = bd_disk;
        rq->flags |= REQ_NOMERGE;
        rq->end_io = done;
-       elv_add_request(q, rq, where, 1);
-       generic_unplug_device(q);
+       WARN_ON(irqs_disabled());
+       spin_lock_irq(q->queue_lock);
+       __elv_add_request(q, rq, where, 1);
+       __generic_unplug_device(q);
+       spin_unlock_irq(q->queue_lock);
  }
  EXPORT_SYMBOL_GPL(blk_execute_rq_nowait);
  
  /**
diff --combined include/linux/genhd.h
index bd7db861041e5c5454a496a32674f67f10a3d179,179fea53fc81194bcd01cddd5edca402a9475dc1..3c1b0294a74286ab79063fac7999255711d36992
@@@ -78,7 -78,6 +78,7 @@@ struct hd_struct 
        sector_t start_sect;
        sector_t nr_sects;
        struct kobject kobj;
 +      struct kobject *holder_dir;
        unsigned ios[2], sectors[2];    /* READs and WRITEs */
        int policy, partno;
  };
  #define GENHD_FL_SUPPRESS_PARTITION_INFO      32
  
  struct disk_stats {
-       unsigned sectors[2];            /* READs and WRITEs */
-       unsigned ios[2];
-       unsigned merges[2];
-       unsigned ticks[2];
-       unsigned io_ticks;
-       unsigned time_in_queue;
+       unsigned long sectors[2];       /* READs and WRITEs */
+       unsigned long ios[2];
+       unsigned long merges[2];
+       unsigned long ticks[2];
+       unsigned long io_ticks;
+       unsigned long time_in_queue;
  };
        
  struct gendisk {
        int number;                     /* more of the same */
        struct device *driverfs_dev;
        struct kobject kobj;
 +      struct kobject *holder_dir;
 +      struct kobject *slave_dir;
  
        struct timer_rand_state *random;
        int policy;