Loading drivers/block/elevator.c +14 −10 Original line number Diff line number Diff line Loading @@ -97,7 +97,6 @@ static struct elevator_type *elevator_find(const char *name) struct elevator_type *e = NULL; struct list_head *entry; spin_lock_irq(&elv_list_lock); list_for_each(entry, &elv_list) { struct elevator_type *__e; Loading @@ -108,7 +107,6 @@ static struct elevator_type *elevator_find(const char *name) break; } } spin_unlock_irq(&elv_list_lock); return e; } Loading @@ -120,12 +118,15 @@ static void elevator_put(struct elevator_type *e) static struct elevator_type *elevator_get(const char *name) { struct elevator_type *e = elevator_find(name); struct elevator_type *e; if (!e) return NULL; if (!try_module_get(e->elevator_owner)) return NULL; spin_lock_irq(&elv_list_lock); e = elevator_find(name); if (e && !try_module_get(e->elevator_owner)) e = NULL; spin_unlock_irq(&elv_list_lock); return e; } Loading Loading @@ -153,11 +154,15 @@ static char chosen_elevator[16]; static void elevator_setup_default(void) { struct elevator_type *e; /* * check if default is set and exists */ if (chosen_elevator[0] && elevator_find(chosen_elevator)) if (chosen_elevator[0] && (e = elevator_get(chosen_elevator))) { elevator_put(e); return; } #if defined(CONFIG_IOSCHED_AS) strcpy(chosen_elevator, "anticipatory"); Loading Loading @@ -555,10 +560,9 @@ void elv_unregister_queue(struct request_queue *q) int elv_register(struct elevator_type *e) { spin_lock_irq(&elv_list_lock); if (elevator_find(e->elevator_name)) BUG(); spin_lock_irq(&elv_list_lock); list_add_tail(&e->list, &elv_list); spin_unlock_irq(&elv_list_lock); Loading drivers/block/ll_rw_blk.c +8 −6 Original line number Diff line number Diff line Loading @@ -2433,13 +2433,15 @@ void disk_round_stats(struct gendisk *disk) { unsigned long now = jiffies; if (now == disk->stamp) return; if (disk->in_flight) { __disk_stat_add(disk, time_in_queue, disk->in_flight * (now - disk->stamp)); __disk_stat_add(disk, io_ticks, (now - disk->stamp)); } disk->stamp = now; if (disk->in_flight) __disk_stat_add(disk, io_ticks, (now - disk->stamp_idle)); disk->stamp_idle = now; } /* Loading fs/partitions/check.c +1 −1 Original line number Diff line number Diff line Loading @@ -430,7 +430,7 @@ void del_gendisk(struct gendisk *disk) disk->flags &= ~GENHD_FL_UP; unlink_gendisk(disk); disk_stat_set_all(disk, 0); disk->stamp = disk->stamp_idle = 0; disk->stamp = 0; devfs_remove_disk(disk); Loading include/linux/genhd.h +1 −1 Original line number Diff line number Diff line Loading @@ -119,7 +119,7 @@ struct gendisk { int policy; atomic_t sync_io; /* RAID */ unsigned long stamp, stamp_idle; unsigned long stamp; int in_flight; #ifdef CONFIG_SMP struct disk_stats *dkstats; Loading Loading
drivers/block/elevator.c +14 −10 Original line number Diff line number Diff line Loading @@ -97,7 +97,6 @@ static struct elevator_type *elevator_find(const char *name) struct elevator_type *e = NULL; struct list_head *entry; spin_lock_irq(&elv_list_lock); list_for_each(entry, &elv_list) { struct elevator_type *__e; Loading @@ -108,7 +107,6 @@ static struct elevator_type *elevator_find(const char *name) break; } } spin_unlock_irq(&elv_list_lock); return e; } Loading @@ -120,12 +118,15 @@ static void elevator_put(struct elevator_type *e) static struct elevator_type *elevator_get(const char *name) { struct elevator_type *e = elevator_find(name); struct elevator_type *e; if (!e) return NULL; if (!try_module_get(e->elevator_owner)) return NULL; spin_lock_irq(&elv_list_lock); e = elevator_find(name); if (e && !try_module_get(e->elevator_owner)) e = NULL; spin_unlock_irq(&elv_list_lock); return e; } Loading Loading @@ -153,11 +154,15 @@ static char chosen_elevator[16]; static void elevator_setup_default(void) { struct elevator_type *e; /* * check if default is set and exists */ if (chosen_elevator[0] && elevator_find(chosen_elevator)) if (chosen_elevator[0] && (e = elevator_get(chosen_elevator))) { elevator_put(e); return; } #if defined(CONFIG_IOSCHED_AS) strcpy(chosen_elevator, "anticipatory"); Loading Loading @@ -555,10 +560,9 @@ void elv_unregister_queue(struct request_queue *q) int elv_register(struct elevator_type *e) { spin_lock_irq(&elv_list_lock); if (elevator_find(e->elevator_name)) BUG(); spin_lock_irq(&elv_list_lock); list_add_tail(&e->list, &elv_list); spin_unlock_irq(&elv_list_lock); Loading
drivers/block/ll_rw_blk.c +8 −6 Original line number Diff line number Diff line Loading @@ -2433,13 +2433,15 @@ void disk_round_stats(struct gendisk *disk) { unsigned long now = jiffies; if (now == disk->stamp) return; if (disk->in_flight) { __disk_stat_add(disk, time_in_queue, disk->in_flight * (now - disk->stamp)); __disk_stat_add(disk, io_ticks, (now - disk->stamp)); } disk->stamp = now; if (disk->in_flight) __disk_stat_add(disk, io_ticks, (now - disk->stamp_idle)); disk->stamp_idle = now; } /* Loading
fs/partitions/check.c +1 −1 Original line number Diff line number Diff line Loading @@ -430,7 +430,7 @@ void del_gendisk(struct gendisk *disk) disk->flags &= ~GENHD_FL_UP; unlink_gendisk(disk); disk_stat_set_all(disk, 0); disk->stamp = disk->stamp_idle = 0; disk->stamp = 0; devfs_remove_disk(disk); Loading
include/linux/genhd.h +1 −1 Original line number Diff line number Diff line Loading @@ -119,7 +119,7 @@ struct gendisk { int policy; atomic_t sync_io; /* RAID */ unsigned long stamp, stamp_idle; unsigned long stamp; int in_flight; #ifdef CONFIG_SMP struct disk_stats *dkstats; Loading