Merge branch 'tj-block-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc

* 'tj-block-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc:
virtio_blk: mark virtio_blk with __refdata to kill spurious section mismatch
block: sysfs fix mismatched queue_var_{store,show} in 64bit kernel
ataflop: adjust NULL test
block: fix failfast merge testing in elv_rq_merge_ok()
z2ram: Small cleanup for z2ram.c

+23 -12
+6 -5
block/blk-sysfs.c
··· 16 16 }; 17 17 18 18 static ssize_t 19 - queue_var_show(unsigned int var, char *page) 19 + queue_var_show(unsigned long var, char *page) 20 20 { 21 - return sprintf(page, "%d\n", var); 21 + return sprintf(page, "%lu\n", var); 22 22 } 23 23 24 24 static ssize_t ··· 77 77 78 78 static ssize_t queue_ra_show(struct request_queue *q, char *page) 79 79 { 80 - int ra_kb = q->backing_dev_info.ra_pages << (PAGE_CACHE_SHIFT - 10); 80 + unsigned long ra_kb = q->backing_dev_info.ra_pages << 81 + (PAGE_CACHE_SHIFT - 10); 81 82 82 83 return queue_var_show(ra_kb, (page)); 83 84 } ··· 190 189 191 190 static ssize_t queue_rq_affinity_show(struct request_queue *q, char *page) 192 191 { 193 - unsigned int set = test_bit(QUEUE_FLAG_SAME_COMP, &q->queue_flags); 192 + bool set = test_bit(QUEUE_FLAG_SAME_COMP, &q->queue_flags); 194 193 195 - return queue_var_show(set != 0, page); 194 + return queue_var_show(set, page); 196 195 } 197 196 198 197 static ssize_t
+9 -4
block/elevator.c
··· 101 101 return 0; 102 102 103 103 /* 104 - * Don't merge if failfast settings don't match 104 + * Don't merge if failfast settings don't match. 105 + * 106 + * FIXME: The negation in front of each condition is necessary 107 + * because bio and request flags use different bit positions 108 + * and the accessors return those bits directly. This 109 + * ugliness will soon go away. 105 110 */ 106 - if (bio_failfast_dev(bio) != blk_failfast_dev(rq) || 107 - bio_failfast_transport(bio) != blk_failfast_transport(rq) || 108 - bio_failfast_driver(bio) != blk_failfast_driver(rq)) 111 + if (!bio_failfast_dev(bio) != !blk_failfast_dev(rq) || 112 + !bio_failfast_transport(bio) != !blk_failfast_transport(rq) || 113 + !bio_failfast_driver(bio) != !blk_failfast_driver(rq)) 109 114 return 0; 110 115 111 116 if (!elv_iosched_allow_merge(rq, bio))
+1 -1
drivers/block/ataflop.c
··· 1627 1627 drive, dtp->blocks, dtp->spt, dtp->stretch); 1628 1628 1629 1629 /* sanity check */ 1630 - if (!dtp || setprm.track != dtp->blocks/dtp->spt/2 || 1630 + if (setprm.track != dtp->blocks/dtp->spt/2 || 1631 1631 setprm.head != 2) { 1632 1632 redo_fd_request(); 1633 1633 return -EINVAL;
+6 -1
drivers/block/virtio_blk.c
··· 427 427 VIRTIO_BLK_F_SCSI, VIRTIO_BLK_F_IDENTIFY 428 428 }; 429 429 430 - static struct virtio_driver virtio_blk = { 430 + /* 431 + * virtio_blk causes spurious section mismatch warning by 432 + * simultaneously referring to a __devinit and a __devexit function. 433 + * Use __refdata to avoid this warning. 434 + */ 435 + static struct virtio_driver __refdata virtio_blk = { 431 436 .feature_table = features, 432 437 .feature_table_size = ARRAY_SIZE(features), 433 438 .driver.name = KBUILD_MODNAME,
+1 -1
drivers/block/z2ram.c
··· 374 374 static void __exit z2_exit(void) 375 375 { 376 376 int i, j; 377 - blk_unregister_region(MKDEV(Z2RAM_MAJOR, 0), 256); 377 + blk_unregister_region(MKDEV(Z2RAM_MAJOR, 0), Z2MINOR_COUNT); 378 378 unregister_blkdev(Z2RAM_MAJOR, DEVICE_NAME); 379 379 del_gendisk(z2ram_gendisk); 380 380 put_disk(z2ram_gendisk);