Commit 4fa63912 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block

* '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
parents df5b89b3 ae36b883
...@@ -132,8 +132,18 @@ Some new queue property settings: ...@@ -132,8 +132,18 @@ Some new queue property settings:
limit. No highmem default. limit. No highmem default.
blk_queue_max_sectors(q, max_sectors) blk_queue_max_sectors(q, max_sectors)
Maximum size request you can handle in units of 512 byte Sets two variables that limit the size of the request.
sectors. 255 default.
- The request queue's max_sectors, which is a soft size in
in units of 512 byte sectors, and could be dynamically varied
by the core kernel.
- The request queue's max_hw_sectors, which is a hard limit
and reflects the maximum size request a driver can handle
in units of 512 byte sectors.
The default for both max_sectors and max_hw_sectors is
255. The upper limit of max_sectors is 1024.
blk_queue_max_phys_segments(q, max_segments) blk_queue_max_phys_segments(q, max_segments)
Maximum physical segments you can handle in a request. 128 Maximum physical segments you can handle in a request. 128
......
...@@ -13,6 +13,7 @@ config LBD ...@@ -13,6 +13,7 @@ config LBD
config BLK_DEV_IO_TRACE config BLK_DEV_IO_TRACE
bool "Support for tracing block io actions" bool "Support for tracing block io actions"
depends on SYSFS
select RELAY select RELAY
select DEBUG_FS select DEBUG_FS
help help
......
...@@ -454,8 +454,8 @@ static ssize_t disk_stats_read(struct gendisk * disk, char *page) ...@@ -454,8 +454,8 @@ static ssize_t disk_stats_read(struct gendisk * disk, char *page)
disk_round_stats(disk); disk_round_stats(disk);
preempt_enable(); preempt_enable();
return sprintf(page, return sprintf(page,
"%8u %8u %8llu %8u " "%8lu %8lu %8llu %8u "
"%8u %8u %8llu %8u " "%8lu %8lu %8llu %8u "
"%8u %8u %8u" "%8u %8u %8u"
"\n", "\n",
disk_stat_read(disk, ios[READ]), disk_stat_read(disk, ios[READ]),
...@@ -649,7 +649,7 @@ static int diskstats_show(struct seq_file *s, void *v) ...@@ -649,7 +649,7 @@ static int diskstats_show(struct seq_file *s, void *v)
preempt_disable(); preempt_disable();
disk_round_stats(gp); disk_round_stats(gp);
preempt_enable(); preempt_enable();
seq_printf(s, "%4d %4d %s %u %u %llu %u %u %u %llu %u %u %u %u\n", seq_printf(s, "%4d %4d %s %lu %lu %llu %u %lu %lu %llu %u %u %u %u\n",
gp->major, n + gp->first_minor, disk_name(gp, n, buf), gp->major, n + gp->first_minor, disk_name(gp, n, buf),
disk_stat_read(gp, ios[0]), disk_stat_read(gp, merges[0]), disk_stat_read(gp, ios[0]), disk_stat_read(gp, merges[0]),
(unsigned long long)disk_stat_read(gp, sectors[0]), (unsigned long long)disk_stat_read(gp, sectors[0]),
......
...@@ -908,17 +908,15 @@ init_tag_map(request_queue_t *q, struct blk_queue_tag *tags, int depth) ...@@ -908,17 +908,15 @@ init_tag_map(request_queue_t *q, struct blk_queue_tag *tags, int depth)
__FUNCTION__, depth); __FUNCTION__, depth);
} }
tag_index = kmalloc(depth * sizeof(struct request *), GFP_ATOMIC); tag_index = kzalloc(depth * sizeof(struct request *), GFP_ATOMIC);
if (!tag_index) if (!tag_index)
goto fail; goto fail;
nr_ulongs = ALIGN(depth, BITS_PER_LONG) / BITS_PER_LONG; 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) if (!tag_map)
goto fail; 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->real_max_depth = depth;
tags->max_depth = depth; tags->max_depth = depth;
tags->tag_index = tag_index; tags->tag_index = tag_index;
...@@ -2481,10 +2479,12 @@ void blk_execute_rq_nowait(request_queue_t *q, struct gendisk *bd_disk, ...@@ -2481,10 +2479,12 @@ void blk_execute_rq_nowait(request_queue_t *q, struct gendisk *bd_disk,
rq->rq_disk = bd_disk; rq->rq_disk = bd_disk;
rq->flags |= REQ_NOMERGE; rq->flags |= REQ_NOMERGE;
rq->end_io = done; rq->end_io = done;
elv_add_request(q, rq, where, 1); WARN_ON(irqs_disabled());
generic_unplug_device(q); 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); EXPORT_SYMBOL_GPL(blk_execute_rq_nowait);
/** /**
......
...@@ -311,11 +311,10 @@ static boolean DAC960_CreateAuxiliaryStructures(DAC960_Controller_T *Controller) ...@@ -311,11 +311,10 @@ static boolean DAC960_CreateAuxiliaryStructures(DAC960_Controller_T *Controller)
CommandsRemaining = CommandAllocationGroupSize; CommandsRemaining = CommandAllocationGroupSize;
CommandGroupByteCount = CommandGroupByteCount =
CommandsRemaining * CommandAllocationLength; CommandsRemaining * CommandAllocationLength;
AllocationPointer = kmalloc(CommandGroupByteCount, GFP_ATOMIC); AllocationPointer = kzalloc(CommandGroupByteCount, GFP_ATOMIC);
if (AllocationPointer == NULL) if (AllocationPointer == NULL)
return DAC960_Failure(Controller, return DAC960_Failure(Controller,
"AUXILIARY STRUCTURE CREATION"); "AUXILIARY STRUCTURE CREATION");
memset(AllocationPointer, 0, CommandGroupByteCount);
} }
Command = (DAC960_Command_T *) AllocationPointer; Command = (DAC960_Command_T *) AllocationPointer;
AllocationPointer += CommandAllocationLength; AllocationPointer += CommandAllocationLength;
...@@ -2709,14 +2708,12 @@ DAC960_DetectController(struct pci_dev *PCI_Device, ...@@ -2709,14 +2708,12 @@ DAC960_DetectController(struct pci_dev *PCI_Device,
void __iomem *BaseAddress; void __iomem *BaseAddress;
int i; int i;
Controller = (DAC960_Controller_T *) Controller = kzalloc(sizeof(DAC960_Controller_T), GFP_ATOMIC);
kmalloc(sizeof(DAC960_Controller_T), GFP_ATOMIC);
if (Controller == NULL) { if (Controller == NULL) {
DAC960_Error("Unable to allocate Controller structure for " DAC960_Error("Unable to allocate Controller structure for "
"Controller at\n", NULL); "Controller at\n", NULL);
return NULL; return NULL;
} }
memset(Controller, 0, sizeof(DAC960_Controller_T));
Controller->ControllerNumber = DAC960_ControllerCount; Controller->ControllerNumber = DAC960_ControllerCount;
DAC960_Controllers[DAC960_ControllerCount++] = Controller; DAC960_Controllers[DAC960_ControllerCount++] = Controller;
Controller->Bus = PCI_Device->bus->number; Controller->Bus = PCI_Device->bus->number;
......
...@@ -996,13 +996,11 @@ static int cciss_ioctl(struct inode *inode, struct file *filep, ...@@ -996,13 +996,11 @@ static int cciss_ioctl(struct inode *inode, struct file *filep,
status = -EINVAL; status = -EINVAL;
goto cleanup1; goto cleanup1;
} }
buff = (unsigned char **) kmalloc(MAXSGENTRIES * buff = kzalloc(MAXSGENTRIES * sizeof(char *), GFP_KERNEL);
sizeof(char *), GFP_KERNEL);
if (!buff) { if (!buff) {
status = -ENOMEM; status = -ENOMEM;
goto cleanup1; goto cleanup1;
} }
memset(buff, 0, MAXSGENTRIES);
buff_size = (int *) kmalloc(MAXSGENTRIES * sizeof(int), buff_size = (int *) kmalloc(MAXSGENTRIES * sizeof(int),
GFP_KERNEL); GFP_KERNEL);
if (!buff_size) { if (!buff_size) {
...@@ -2729,9 +2727,9 @@ static void __devinit cciss_interrupt_mode(ctlr_info_t *c, struct pci_dev *pdev, ...@@ -2729,9 +2727,9 @@ static void __devinit cciss_interrupt_mode(ctlr_info_t *c, struct pci_dev *pdev,
return; return;
} }
} }
default_int_mode:
#endif /* CONFIG_PCI_MSI */ #endif /* CONFIG_PCI_MSI */
/* if we get here we're going to use the default interrupt mode */ /* if we get here we're going to use the default interrupt mode */
default_int_mode:
c->intr[SIMPLE_MODE_INT] = pdev->irq; c->intr[SIMPLE_MODE_INT] = pdev->irq;
return; return;
} }
...@@ -2940,13 +2938,12 @@ static void cciss_getgeometry(int cntl_num) ...@@ -2940,13 +2938,12 @@ static void cciss_getgeometry(int cntl_num)
int block_size; int block_size;
int total_size; int total_size;
ld_buff = kmalloc(sizeof(ReportLunData_struct), GFP_KERNEL); ld_buff = kzalloc(sizeof(ReportLunData_struct), GFP_KERNEL);
if (ld_buff == NULL) if (ld_buff == NULL)
{ {
printk(KERN_ERR "cciss: out of memory\n"); printk(KERN_ERR "cciss: out of memory\n");
return; return;
} }
memset(ld_buff, 0, sizeof(ReportLunData_struct));
size_buff = kmalloc(sizeof( ReadCapdata_struct), GFP_KERNEL); size_buff = kmalloc(sizeof( ReadCapdata_struct), GFP_KERNEL);
if (size_buff == NULL) if (size_buff == NULL)
{ {
...@@ -3060,10 +3057,9 @@ static int alloc_cciss_hba(void) ...@@ -3060,10 +3057,9 @@ static int alloc_cciss_hba(void)
for(i=0; i< MAX_CTLR; i++) { for(i=0; i< MAX_CTLR; i++) {
if (!hba[i]) { if (!hba[i]) {
ctlr_info_t *p; ctlr_info_t *p;
p = kmalloc(sizeof(ctlr_info_t), GFP_KERNEL); p = kzalloc(sizeof(ctlr_info_t), GFP_KERNEL);
if (!p) if (!p)
goto Enomem; goto Enomem;
memset(p, 0, sizeof(ctlr_info_t));
for (n = 0; n < NWD; n++) for (n = 0; n < NWD; n++)
p->gendisk[n] = disk[n]; p->gendisk[n] = disk[n];
hba[i] = p; hba[i] = p;
......
...@@ -1027,12 +1027,11 @@ cciss_update_non_disk_devices(int cntl_num, int hostno) ...@@ -1027,12 +1027,11 @@ cciss_update_non_disk_devices(int cntl_num, int hostno)
int i; int i;
c = (ctlr_info_t *) hba[cntl_num]; c = (ctlr_info_t *) hba[cntl_num];
ld_buff = kmalloc(reportlunsize, GFP_KERNEL); ld_buff = kzalloc(reportlunsize, GFP_KERNEL);
if (ld_buff == NULL) { if (ld_buff == NULL) {
printk(KERN_ERR "cciss: out of memory\n"); printk(KERN_ERR "cciss: out of memory\n");
return; return;
} }
memset(ld_buff, 0, reportlunsize);
inq_buff = kmalloc(OBDR_TAPE_INQ_SIZE, GFP_KERNEL); inq_buff = kmalloc(OBDR_TAPE_INQ_SIZE, GFP_KERNEL);
if (inq_buff == NULL) { if (inq_buff == NULL) {
printk(KERN_ERR "cciss: out of memory\n"); printk(KERN_ERR "cciss: out of memory\n");
......
...@@ -224,10 +224,9 @@ static void bpck6_log_adapter( PIA *pi, char * scratch, int verbose ) ...@@ -224,10 +224,9 @@ static void bpck6_log_adapter( PIA *pi, char * scratch, int verbose )
static int bpck6_init_proto(PIA *pi) static int bpck6_init_proto(PIA *pi)
{ {
Interface *p = kmalloc(sizeof(Interface), GFP_KERNEL); Interface *p = kzalloc(sizeof(Interface), GFP_KERNEL);
if (p) { if (p) {
memset(p, 0, sizeof(Interface));
pi->private = (unsigned long)p; pi->private = (unsigned long)p;
return 0; return 0;
} }
......
...@@ -2143,6 +2143,7 @@ static int cdrom_read_capacity(ide_drive_t *drive, unsigned long *capacity, ...@@ -2143,6 +2143,7 @@ static int cdrom_read_capacity(ide_drive_t *drive, unsigned long *capacity,
req.cmd[0] = GPCMD_READ_CDVD_CAPACITY; req.cmd[0] = GPCMD_READ_CDVD_CAPACITY;
req.data = (char *)&capbuf; req.data = (char *)&capbuf;
req.data_len = sizeof(capbuf); req.data_len = sizeof(capbuf);
req.flags |= REQ_QUIET;
stat = cdrom_queue_packet_command(drive, &req); stat = cdrom_queue_packet_command(drive, &req);
if (stat == 0) { if (stat == 0) {
......
...@@ -90,12 +90,12 @@ struct hd_struct { ...@@ -90,12 +90,12 @@ struct hd_struct {
#define GENHD_FL_SUPPRESS_PARTITION_INFO 32 #define GENHD_FL_SUPPRESS_PARTITION_INFO 32
struct disk_stats { struct disk_stats {
unsigned sectors[2]; /* READs and WRITEs */ unsigned long sectors[2]; /* READs and WRITEs */
unsigned ios[2]; unsigned long ios[2];
unsigned merges[2]; unsigned long merges[2];
unsigned ticks[2]; unsigned long ticks[2];
unsigned io_ticks; unsigned long io_ticks;
unsigned time_in_queue; unsigned long time_in_queue;
}; };
struct gendisk { struct gendisk {
......
...@@ -172,7 +172,7 @@ config DEBUG_IOREMAP ...@@ -172,7 +172,7 @@ config DEBUG_IOREMAP
config DEBUG_FS config DEBUG_FS
bool "Debug Filesystem" bool "Debug Filesystem"
depends on DEBUG_KERNEL && SYSFS depends on SYSFS
help help
debugfs is a virtual file system that kernel developers use to put debugfs is a virtual file system that kernel developers use to put
debugging files into. Enable this option to be able to read and debugging files into. Enable this option to be able to read and
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment