Hi Hannes, [auto build test WARNING on linus/master] [also build test WARNING on v4.8-rc7] [cannot apply to block/for-next next-20160919] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/Damien-Le-Moal/ZBC-Zoned-block-device-support/20160920-062608 config: i386-allmodconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): In file included from include/linux/kernel.h:13:0, from include/linux/sched.h:17, from include/linux/blkdev.h:4, from drivers/scsi/sd_zbc.c:24: drivers/scsi/sd_zbc.c: In function 'sd_zbc_report_zones': >> drivers/scsi/sd_zbc.c:61:11: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'sector_t {aka long long unsigned int}' [-Wformat=] pr_debug("%s %s [%s]: " fmt, \ ^ include/linux/printk.h:260:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ include/linux/printk.h:308:2: note: in expansion of macro 'dynamic_pr_debug' dynamic_pr_debug(fmt, ##__VA_ARGS__) ^~~~~~~~~~~~~~~~ >> drivers/scsi/sd_zbc.c:61:2: note: in expansion of macro 'pr_debug' pr_debug("%s %s [%s]: " fmt, \ ^~~~~~~~ >> drivers/scsi/sd_zbc.c:221:2: note: in expansion of macro 'sd_zbc_debug' sd_zbc_debug(sdkp, "REPORT ZONES lba %zu len %d\n", ^~~~~~~~~~~~ In file included from include/linux/printk.h:6:0, from include/linux/kernel.h:13, from include/linux/sched.h:17, from include/linux/blkdev.h:4, from drivers/scsi/sd_zbc.c:24: >> include/linux/kern_levels.h:4:18: warning: format '%zu' expects argument of type 'size_t', but argument 5 has type 'sector_t {aka long long unsigned int}' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:10:18: note: in expansion of macro 'KERN_SOH' #define KERN_ERR KERN_SOH "3" /* error conditions */ ^~~~~~~~ include/linux/printk.h:276:9: note: in expansion of macro 'KERN_ERR' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~ >> drivers/scsi/sd_zbc.c:73:2: note: in expansion of macro 'pr_err' pr_err("%s %s [%s]: " fmt, \ ^~~~~~ >> drivers/scsi/sd_zbc.c:237:3: note: in expansion of macro 'sd_zbc_err' sd_zbc_err(sdkp, ^~~~~~~~~~ In file included from include/linux/kernel.h:13:0, from include/linux/sched.h:17, from include/linux/blkdev.h:4, from drivers/scsi/sd_zbc.c:24: drivers/scsi/sd_zbc.c: In function 'sd_zbc_setup_reset_cmnd': >> drivers/scsi/sd_zbc.c:61:11: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'sector_t {aka long long unsigned int}' [-Wformat=] pr_debug("%s %s [%s]: " fmt, \ ^ include/linux/printk.h:260:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ include/linux/printk.h:308:2: note: in expansion of macro 'dynamic_pr_debug' dynamic_pr_debug(fmt, ##__VA_ARGS__) ^~~~~~~~~~~~~~~~ >> drivers/scsi/sd_zbc.c:61:2: note: in expansion of macro 'pr_debug' pr_debug("%s %s [%s]: " fmt, \ ^~~~~~~~ drivers/scsi/sd_zbc.c:489:4: note: in expansion of macro 'sd_zbc_debug' sd_zbc_debug(sdkp, ^~~~~~~~~~~~ In file included from drivers/scsi/sd_zbc.c:37:0: drivers/scsi/sd_zbc.c:517:7: warning: format '%zu' expects argument of type 'size_t', but argument 5 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned reset wp request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ drivers/scsi/sd_zbc.c:517:7: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned reset wp request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ drivers/scsi/sd_zbc.c:517:7: warning: format '%zu' expects argument of type 'size_t', but argument 7 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned reset wp request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ drivers/scsi/sd_zbc.c:517:7: warning: format '%zu' expects argument of type 'size_t', but argument 8 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned reset wp request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ In file included from include/scsi/scsi_cmnd.h:10:0, from drivers/scsi/sd_zbc.c:30: drivers/scsi/sd_zbc.c:517:7: warning: format '%zu' expects argument of type 'size_t', but argument 5 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned reset wp request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ >> drivers/scsi/sd_zbc.c:516:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ drivers/scsi/sd_zbc.c:517:7: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned reset wp request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ >> drivers/scsi/sd_zbc.c:516:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ drivers/scsi/sd_zbc.c:517:7: warning: format '%zu' expects argument of type 'size_t', but argument 7 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned reset wp request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ >> drivers/scsi/sd_zbc.c:516:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ drivers/scsi/sd_zbc.c:517:7: warning: format '%zu' expects argument of type 'size_t', but argument 8 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned reset wp request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ >> drivers/scsi/sd_zbc.c:516:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ In file included from include/linux/kernel.h:13:0, from include/linux/sched.h:17, from include/linux/blkdev.h:4, from drivers/scsi/sd_zbc.c:24: drivers/scsi/sd_zbc.c: In function 'sd_zbc_setup_open_cmnd': >> drivers/scsi/sd_zbc.c:61:11: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'sector_t {aka long long unsigned int}' [-Wformat=] pr_debug("%s %s [%s]: " fmt, \ ^ include/linux/printk.h:260:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ include/linux/printk.h:308:2: note: in expansion of macro 'dynamic_pr_debug' dynamic_pr_debug(fmt, ##__VA_ARGS__) ^~~~~~~~~~~~~~~~ >> drivers/scsi/sd_zbc.c:61:2: note: in expansion of macro 'pr_debug' pr_debug("%s %s [%s]: " fmt, \ ^~~~~~~~ drivers/scsi/sd_zbc.c:573:4: note: in expansion of macro 'sd_zbc_debug' sd_zbc_debug(sdkp, ^~~~~~~~~~~~ In file included from drivers/scsi/sd_zbc.c:37:0: drivers/scsi/sd_zbc.c:594:7: warning: format '%zu' expects argument of type 'size_t', but argument 5 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned open zone request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ drivers/scsi/sd_zbc.c:594:7: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned open zone request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ drivers/scsi/sd_zbc.c:594:7: warning: format '%zu' expects argument of type 'size_t', but argument 7 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned open zone request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ drivers/scsi/sd_zbc.c:594:7: warning: format '%zu' expects argument of type 'size_t', but argument 8 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned open zone request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ In file included from include/scsi/scsi_cmnd.h:10:0, from drivers/scsi/sd_zbc.c:30: drivers/scsi/sd_zbc.c:594:7: warning: format '%zu' expects argument of type 'size_t', but argument 5 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned open zone request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ drivers/scsi/sd_zbc.c:593:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ drivers/scsi/sd_zbc.c:594:7: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned open zone request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ drivers/scsi/sd_zbc.c:593:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ drivers/scsi/sd_zbc.c:594:7: warning: format '%zu' expects argument of type 'size_t', but argument 7 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned open zone request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ drivers/scsi/sd_zbc.c:593:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ drivers/scsi/sd_zbc.c:594:7: warning: format '%zu' expects argument of type 'size_t', but argument 8 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned open zone request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ drivers/scsi/sd_zbc.c:593:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ In file included from include/linux/kernel.h:13:0, from include/linux/sched.h:17, from include/linux/blkdev.h:4, from drivers/scsi/sd_zbc.c:24: drivers/scsi/sd_zbc.c: In function 'sd_zbc_setup_close_cmnd': >> drivers/scsi/sd_zbc.c:61:11: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'sector_t {aka long long unsigned int}' [-Wformat=] pr_debug("%s %s [%s]: " fmt, \ ^ include/linux/printk.h:260:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ include/linux/printk.h:308:2: note: in expansion of macro 'dynamic_pr_debug' dynamic_pr_debug(fmt, ##__VA_ARGS__) ^~~~~~~~~~~~~~~~ >> drivers/scsi/sd_zbc.c:61:2: note: in expansion of macro 'pr_debug' pr_debug("%s %s [%s]: " fmt, \ ^~~~~~~~ drivers/scsi/sd_zbc.c:645:4: note: in expansion of macro 'sd_zbc_debug' sd_zbc_debug(sdkp, ^~~~~~~~~~~~ In file included from drivers/scsi/sd_zbc.c:37:0: drivers/scsi/sd_zbc.c:666:7: warning: format '%zu' expects argument of type 'size_t', but argument 5 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned close zone request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ drivers/scsi/sd_zbc.c:666:7: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned close zone request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ drivers/scsi/sd_zbc.c:666:7: warning: format '%zu' expects argument of type 'size_t', but argument 7 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned close zone request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ drivers/scsi/sd_zbc.c:666:7: warning: format '%zu' expects argument of type 'size_t', but argument 8 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned close zone request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ In file included from include/scsi/scsi_cmnd.h:10:0, from drivers/scsi/sd_zbc.c:30: drivers/scsi/sd_zbc.c:666:7: warning: format '%zu' expects argument of type 'size_t', but argument 5 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned close zone request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ drivers/scsi/sd_zbc.c:665:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ drivers/scsi/sd_zbc.c:666:7: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned close zone request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ drivers/scsi/sd_zbc.c:665:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ drivers/scsi/sd_zbc.c:666:7: warning: format '%zu' expects argument of type 'size_t', but argument 7 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned close zone request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ drivers/scsi/sd_zbc.c:665:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ drivers/scsi/sd_zbc.c:666:7: warning: format '%zu' expects argument of type 'size_t', but argument 8 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned close zone request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ drivers/scsi/sd_zbc.c:665:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ In file included from include/linux/kernel.h:13:0, from include/linux/sched.h:17, from include/linux/blkdev.h:4, from drivers/scsi/sd_zbc.c:24: drivers/scsi/sd_zbc.c: In function 'sd_zbc_setup_finish_cmnd': >> drivers/scsi/sd_zbc.c:61:11: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'sector_t {aka long long unsigned int}' [-Wformat=] pr_debug("%s %s [%s]: " fmt, \ ^ include/linux/printk.h:260:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ include/linux/printk.h:308:2: note: in expansion of macro 'dynamic_pr_debug' dynamic_pr_debug(fmt, ##__VA_ARGS__) ^~~~~~~~~~~~~~~~ >> drivers/scsi/sd_zbc.c:61:2: note: in expansion of macro 'pr_debug' pr_debug("%s %s [%s]: " fmt, \ ^~~~~~~~ drivers/scsi/sd_zbc.c:717:4: note: in expansion of macro 'sd_zbc_debug' sd_zbc_debug(sdkp, ^~~~~~~~~~~~ In file included from drivers/scsi/sd_zbc.c:37:0: drivers/scsi/sd_zbc.c:734:7: warning: format '%zu' expects argument of type 'size_t', but argument 5 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned finish zone request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ drivers/scsi/sd_zbc.c:734:7: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned finish zone request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ drivers/scsi/sd_zbc.c:734:7: warning: format '%zu' expects argument of type 'size_t', but argument 7 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned finish zone request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ drivers/scsi/sd_zbc.c:734:7: warning: format '%zu' expects argument of type 'size_t', but argument 8 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned finish zone request, start %zu/%zu" ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ In file included from include/scsi/scsi_cmnd.h:10:0, from drivers/scsi/sd_zbc.c:30: drivers/scsi/sd_zbc.c:734:7: warning: format '%zu' expects argument of type 'size_t', but argument 5 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned finish zone request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ drivers/scsi/sd_zbc.c:733:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ drivers/scsi/sd_zbc.c:734:7: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned finish zone request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ drivers/scsi/sd_zbc.c:733:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ drivers/scsi/sd_zbc.c:734:7: warning: format '%zu' expects argument of type 'size_t', but argument 7 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned finish zone request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ drivers/scsi/sd_zbc.c:733:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ drivers/scsi/sd_zbc.c:734:7: warning: format '%zu' expects argument of type 'size_t', but argument 8 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Unaligned finish zone request, start %zu/%zu" ^ include/scsi/scsi_device.h:233:36: note: in definition of macro 'sdev_printk' sdev_prefix_printk(l, sdev, NULL, fmt, ##a) ^~~ drivers/scsi/sd_zbc.c:733:4: note: in expansion of macro 'sd_printk' sd_printk(KERN_ERR, sdkp, ^~~~~~~~~ In file included from include/linux/kernel.h:13:0, from include/linux/sched.h:17, from include/linux/blkdev.h:4, from drivers/scsi/sd_zbc.c:24: drivers/scsi/sd_zbc.c: In function 'sd_zbc_setup_read_write': >> drivers/scsi/sd_zbc.c:61:11: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'sector_t {aka long long unsigned int}' [-Wformat=] pr_debug("%s %s [%s]: " fmt, \ ^ include/linux/printk.h:260:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ include/linux/printk.h:308:2: note: in expansion of macro 'dynamic_pr_debug' dynamic_pr_debug(fmt, ##__VA_ARGS__) ^~~~~~~~~~~~~~~~ >> drivers/scsi/sd_zbc.c:61:2: note: in expansion of macro 'pr_debug' pr_debug("%s %s [%s]: " fmt, \ ^~~~~~~~ drivers/scsi/sd_zbc.c:783:3: note: in expansion of macro 'sd_zbc_debug' sd_zbc_debug(sdkp, ^~~~~~~~~~~~ In file included from drivers/scsi/sd_zbc.c:37:0: drivers/scsi/sd_zbc.c: In function 'sd_zbc_read_zones': drivers/scsi/sd_zbc.c:985:8: warning: format '%zu' expects argument of type 'size_t', but argument 5 has type 'sector_t {aka long long unsigned int}' [-Wformat=] "Changing capacity from %zu " ^ drivers/scsi/sd.h:116:31: note: in definition of macro 'sd_printk' (sdsk)->disk->disk_name, fmt, ##a) : \ ^~~ vim +61 drivers/scsi/sd_zbc.c 18 * along with this program; see the file COPYING. If not, write to 19 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, 20 * USA. 21 * 22 */ 23 > 24 #include <linux/blkdev.h> 25 #include <linux/rbtree.h> 26 27 #include <asm/unaligned.h> 28 29 #include <scsi/scsi.h> > 30 #include <scsi/scsi_cmnd.h> 31 #include <scsi/scsi_dbg.h> 32 #include <scsi/scsi_device.h> 33 #include <scsi/scsi_driver.h> 34 #include <scsi/scsi_host.h> 35 #include <scsi/scsi_eh.h> 36 > 37 #include "sd.h" 38 #include "scsi_priv.h" 39 40 enum zbc_zone_type { 41 ZBC_ZONE_TYPE_CONV = 0x1, 42 ZBC_ZONE_TYPE_SEQWRITE_REQ, 43 ZBC_ZONE_TYPE_SEQWRITE_PREF, 44 ZBC_ZONE_TYPE_RESERVED, 45 }; 46 47 enum zbc_zone_cond { 48 ZBC_ZONE_COND_NO_WP, 49 ZBC_ZONE_COND_EMPTY, 50 ZBC_ZONE_COND_IMP_OPEN, 51 ZBC_ZONE_COND_EXP_OPEN, 52 ZBC_ZONE_COND_CLOSED, 53 ZBC_ZONE_COND_READONLY = 0xd, 54 ZBC_ZONE_COND_FULL, 55 ZBC_ZONE_COND_OFFLINE, 56 }; 57 58 #define SD_ZBC_BUF_SIZE 131072 59 60 #define sd_zbc_debug(sdkp, fmt, args...) \ > 61 pr_debug("%s %s [%s]: " fmt, \ 62 dev_driver_string(&(sdkp)->device->sdev_gendev), \ 63 dev_name(&(sdkp)->device->sdev_gendev), \ 64 (sdkp)->disk->disk_name, ## args) 65 66 #define sd_zbc_debug_ratelimit(sdkp, fmt, args...) \ 67 do { \ 68 if (printk_ratelimit()) \ 69 sd_zbc_debug(sdkp, fmt, ## args); \ 70 } while( 0 ) 71 72 #define sd_zbc_err(sdkp, fmt, args...) \ > 73 pr_err("%s %s [%s]: " fmt, \ 74 dev_driver_string(&(sdkp)->device->sdev_gendev), \ 75 dev_name(&(sdkp)->device->sdev_gendev), \ 76 (sdkp)->disk->disk_name, ## args) 77 78 struct zbc_zone_work { 79 struct work_struct zone_work; 80 struct scsi_disk *sdkp; 81 sector_t sector; 82 sector_t nr_sects; 83 bool init; 84 unsigned int nr_zones; 85 }; 86 87 struct blk_zone *zbc_desc_to_zone(struct scsi_disk *sdkp, unsigned char *rec) 88 { 89 struct blk_zone *zone; 90 91 zone = kzalloc(sizeof(struct blk_zone), GFP_KERNEL); 92 if (!zone) 93 return NULL; 94 95 /* Zone type */ 96 switch(rec[0] & 0x0f) { 97 case ZBC_ZONE_TYPE_CONV: 98 case ZBC_ZONE_TYPE_SEQWRITE_REQ: 99 case ZBC_ZONE_TYPE_SEQWRITE_PREF: 100 zone->type = rec[0] & 0x0f; 101 break; 102 default: 103 zone->type = BLK_ZONE_TYPE_UNKNOWN; 104 break; 105 } 106 107 /* Zone condition */ 108 zone->cond = (rec[1] >> 4) & 0xf; 109 if (rec[1] & 0x01) 110 zone->reset = 1; 111 if (rec[1] & 0x02) 112 zone->non_seq = 1; 113 114 /* Zone start sector and length */ 115 zone->len = logical_to_sectors(sdkp->device, 116 get_unaligned_be64(&rec[8])); 117 zone->start = logical_to_sectors(sdkp->device, 118 get_unaligned_be64(&rec[16])); 119 120 /* Zone write pointer */ 121 if (blk_zone_is_empty(zone) && 122 zone->wp != zone->start) 123 zone->wp = zone->start; 124 else if (blk_zone_is_full(zone)) 125 zone->wp = zone->start + zone->len; 126 else if (blk_zone_is_seq(zone)) 127 zone->wp = logical_to_sectors(sdkp->device, 128 get_unaligned_be64(&rec[24])); 129 else 130 zone->wp = (sector_t)-1; 131 132 return zone; 133 } 134 135 static int zbc_parse_zones(struct scsi_disk *sdkp, unsigned char *buf, 136 unsigned int buf_len, sector_t *next_sector) 137 { 138 struct request_queue *q = sdkp->disk->queue; 139 sector_t capacity = logical_to_sectors(sdkp->device, sdkp->capacity); 140 unsigned char *rec = buf; 141 unsigned int zone_len, list_length; 142 143 /* Parse REPORT ZONES header */ 144 list_length = get_unaligned_be32(&buf[0]); 145 rec = buf + 64; 146 list_length += 64; 147 148 if (list_length < buf_len) 149 buf_len = list_length; 150 151 /* Parse REPORT ZONES zone descriptors */ 152 *next_sector = capacity; 153 while (rec < buf + buf_len) { 154 155 struct blk_zone *new, *old; 156 157 new = zbc_desc_to_zone(sdkp, rec); 158 if (!new) 159 return -ENOMEM; 160 161 zone_len = new->len; 162 *next_sector = new->start + zone_len; 163 164 old = blk_insert_zone(q, new); 165 if (old) { 166 blk_lock_zone(old); 167 168 /* 169 * Always update the zone state flags and the zone 170 * offline and read-only condition as the drive may 171 * change those independently of the commands being 172 * executed 173 */ 174 old->reset = new->reset; 175 old->non_seq = new->non_seq; 176 if (blk_zone_is_offline(new) || 177 blk_zone_is_readonly(new)) 178 old->cond = new->cond; 179 180 if (blk_zone_in_update(old)) { 181 old->cond = new->cond; 182 old->wp = new->wp; 183 blk_clear_zone_update(old); 184 } 185 186 blk_unlock_zone(old); 187 188 kfree(new); 189 } 190 191 rec += 64; 192 193 } 194 195 return 0; 196 } 197 198 /** 199 * sd_zbc_report_zones - Issue a REPORT ZONES scsi command 200 * @sdkp: SCSI disk to which the command should be send 201 * @buffer: response buffer 202 * @bufflen: length of @buffer 203 * @start_sector: logical sector for the zone information should be reported 204 * @option: reporting option to be used 205 * @partial: flag to set the 'partial' bit for report zones command 206 */ 207 int sd_zbc_report_zones(struct scsi_disk *sdkp, unsigned char *buffer, 208 int bufflen, sector_t start_sector, 209 enum zbc_zone_reporting_options option, bool partial) 210 { 211 struct scsi_device *sdp = sdkp->device; 212 const int timeout = sdp->request_queue->rq_timeout; 213 struct scsi_sense_hdr sshdr; 214 sector_t start_lba = sectors_to_logical(sdkp->device, start_sector); 215 unsigned char cmd[16]; 216 int result; 217 218 if (!scsi_device_online(sdp)) 219 return -ENODEV; 220 > 221 sd_zbc_debug(sdkp, "REPORT ZONES lba %zu len %d\n", 222 start_lba, bufflen); 223 224 memset(cmd, 0, 16); 225 cmd[0] = ZBC_IN; 226 cmd[1] = ZI_REPORT_ZONES; 227 put_unaligned_be64(start_lba, &cmd[2]); 228 put_unaligned_be32(bufflen, &cmd[10]); 229 cmd[14] = (partial ? ZBC_REPORT_ZONE_PARTIAL : 0) | option; 230 memset(buffer, 0, bufflen); 231 232 result = scsi_execute_req(sdp, cmd, DMA_FROM_DEVICE, 233 buffer, bufflen, &sshdr, 234 timeout, SD_MAX_RETRIES, NULL); 235 236 if (result) { > 237 sd_zbc_err(sdkp, 238 "REPORT ZONES lba %zu failed with %d/%d\n", 239 start_lba, host_byte(result), driver_byte(result)); 240 return -EIO; --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip