From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 446F32121C10C for ; Thu, 20 Jun 2019 02:23:23 -0700 (PDT) Date: Thu, 20 Jun 2019 05:23:21 -0400 (EDT) From: Pankaj Gupta Message-ID: <1639475107.36240838.1561022601447.JavaMail.zimbra@redhat.com> In-Reply-To: <201906201556.Q1WxNSWK%lkp@intel.com> References: <201906201556.Q1WxNSWK%lkp@intel.com> Subject: Re: [linux-nvdimm:libnvdimm-for-next 5/15] drivers/s390//block/dcssblk.c:681:22: error: too few arguments to function 'alloc_dax' MIME-Version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: linux-nvdimm-bounces@lists.01.org Sender: "Linux-nvdimm" To: kbuild test robot Cc: kbuild-all@01.org, linux-nvdimm@lists.01.org List-ID: Thanks for the email. Apologies for s390 build failure. Below patch(untested) should fix this. Thanks, Pankaj > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git > libnvdimm-for-next > head: 3b6047778c09037615e7b919c922081ef1a37a7f > commit: fee8be32c5bab110c34884dfc4a68dd0105d2607 [5/15] libnvdimm: add > dax_dev sync flag > config: s390-debug_defconfig (attached as .config) > compiler: s390-linux-gcc (GCC) 7.4.0 > reproduce: > wget > https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross > -O ~/bin/make.cross > chmod +x ~/bin/make.cross > git checkout fee8be32c5bab110c34884dfc4a68dd0105d2607 > # save the attached .config to linux build tree > GCC_VERSION=7.4.0 make.cross ARCH=s390 > > If you fix the issue, kindly add following tag > Reported-by: kbuild test robot +++ b/drivers/s390/block/dcssblk.c @@ -679,7 +679,7 @@ dcssblk_add_store(struct device *dev, struct device_attribute *attr, const char goto put_dev; dev_info->dax_dev = alloc_dax(dev_info, dev_info->gd->disk_name, - &dcssblk_dax_ops); + &dcssblk_dax_ops, DAXDEV_F_SYNC); > > All errors (new ones prefixed by >>): > > drivers/s390//block/dcssblk.c: In function 'dcssblk_add_store': > >> drivers/s390//block/dcssblk.c:681:22: error: too few arguments to function > >> 'alloc_dax' > dev_info->dax_dev = alloc_dax(dev_info, dev_info->gd->disk_name, > ^~~~~~~~~ > In file included from drivers/s390//block/dcssblk.c:23:0: > include/linux/dax.h:43:20: note: declared here > struct dax_device *alloc_dax(void *private, const char *host, > ^~~~~~~~~ > > vim +/alloc_dax +681 drivers/s390//block/dcssblk.c > > b2300b9efe Hongjie Yang 2008-10-10 542 > b2300b9efe Hongjie Yang 2008-10-10 543 /* > ^1da177e4c Linus Torvalds 2005-04-16 544 * device attribute for > adding devices > ^1da177e4c Linus Torvalds 2005-04-16 545 */ > ^1da177e4c Linus Torvalds 2005-04-16 546 static ssize_t > e404e274f6 Yani Ioannou 2005-05-17 547 dcssblk_add_store(struct > device *dev, struct device_attribute *attr, const char *buf, size_t count) > ^1da177e4c Linus Torvalds 2005-04-16 548 { > b2300b9efe Hongjie Yang 2008-10-10 549 int rc, i, j, > num_of_segments; > ^1da177e4c Linus Torvalds 2005-04-16 550 struct dcssblk_dev_info > *dev_info; > b2300b9efe Hongjie Yang 2008-10-10 551 struct segment_info > *seg_info, *temp; > ^1da177e4c Linus Torvalds 2005-04-16 552 char *local_buf; > ^1da177e4c Linus Torvalds 2005-04-16 553 unsigned long > seg_byte_size; > ^1da177e4c Linus Torvalds 2005-04-16 554 > ^1da177e4c Linus Torvalds 2005-04-16 555 dev_info = NULL; > b2300b9efe Hongjie Yang 2008-10-10 556 seg_info = NULL; > ^1da177e4c Linus Torvalds 2005-04-16 557 if (dev != > dcssblk_root_dev) { > ^1da177e4c Linus Torvalds 2005-04-16 558 rc = -EINVAL; > ^1da177e4c Linus Torvalds 2005-04-16 559 goto out_nobuf; > ^1da177e4c Linus Torvalds 2005-04-16 560 } > b2300b9efe Hongjie Yang 2008-10-10 561 if ((count < 1) || (buf[0] > == '\0') || (buf[0] == '\n')) { > b2300b9efe Hongjie Yang 2008-10-10 562 rc = -ENAMETOOLONG; > b2300b9efe Hongjie Yang 2008-10-10 563 goto out_nobuf; > b2300b9efe Hongjie Yang 2008-10-10 564 } > b2300b9efe Hongjie Yang 2008-10-10 565 > ^1da177e4c Linus Torvalds 2005-04-16 566 local_buf = kmalloc(count > + 1, GFP_KERNEL); > ^1da177e4c Linus Torvalds 2005-04-16 567 if (local_buf == NULL) { > ^1da177e4c Linus Torvalds 2005-04-16 568 rc = -ENOMEM; > ^1da177e4c Linus Torvalds 2005-04-16 569 goto out_nobuf; > ^1da177e4c Linus Torvalds 2005-04-16 570 } > b2300b9efe Hongjie Yang 2008-10-10 571 > ^1da177e4c Linus Torvalds 2005-04-16 572 /* > ^1da177e4c Linus Torvalds 2005-04-16 573 * parse input > ^1da177e4c Linus Torvalds 2005-04-16 574 */ > b2300b9efe Hongjie Yang 2008-10-10 575 num_of_segments = 0; > 3a9f9183bd Ameen Ali 2015-02-24 576 for (i = 0; (i < count && > (buf[i] != '\0') && (buf[i] != '\n')); i++) { > 42cfc6b590 Martin Schwidefsky 2015-08-19 577 for (j = i; j < count && > 42cfc6b590 Martin Schwidefsky 2015-08-19 578 (buf[j] != ':') && > b2300b9efe Hongjie Yang 2008-10-10 579 (buf[j] != '\0') && > 42cfc6b590 Martin Schwidefsky 2015-08-19 580 (buf[j] != '\n'); j++) { > b2300b9efe Hongjie Yang 2008-10-10 581 local_buf[j-i] = > toupper(buf[j]); > b2300b9efe Hongjie Yang 2008-10-10 582 } > b2300b9efe Hongjie Yang 2008-10-10 583 local_buf[j-i] = '\0'; > b2300b9efe Hongjie Yang 2008-10-10 584 if (((j - i) == 0) || ((j > - i) > 8)) { > ^1da177e4c Linus Torvalds 2005-04-16 585 rc = -ENAMETOOLONG; > b2300b9efe Hongjie Yang 2008-10-10 586 goto seg_list_del; > ^1da177e4c Linus Torvalds 2005-04-16 587 } > b2300b9efe Hongjie Yang 2008-10-10 588 > b2300b9efe Hongjie Yang 2008-10-10 589 rc = > dcssblk_load_segment(local_buf, &seg_info); > b2300b9efe Hongjie Yang 2008-10-10 590 if (rc < 0) > b2300b9efe Hongjie Yang 2008-10-10 591 goto seg_list_del; > ^1da177e4c Linus Torvalds 2005-04-16 592 /* > ^1da177e4c Linus Torvalds 2005-04-16 593 * get a struct > dcssblk_dev_info > ^1da177e4c Linus Torvalds 2005-04-16 594 */ > b2300b9efe Hongjie Yang 2008-10-10 595 if (num_of_segments == 0) > { > b2300b9efe Hongjie Yang 2008-10-10 596 dev_info = > kzalloc(sizeof(struct dcssblk_dev_info), > b2300b9efe Hongjie Yang 2008-10-10 597 GFP_KERNEL); > ^1da177e4c Linus Torvalds 2005-04-16 598 if (dev_info == NULL) { > ^1da177e4c Linus Torvalds 2005-04-16 599 rc = -ENOMEM; > ^1da177e4c Linus Torvalds 2005-04-16 600 goto out; > ^1da177e4c Linus Torvalds 2005-04-16 601 } > ^1da177e4c Linus Torvalds 2005-04-16 602 > strcpy(dev_info->segment_name, local_buf); > b2300b9efe Hongjie Yang 2008-10-10 603 dev_info->segment_type = > seg_info->segment_type; > b2300b9efe Hongjie Yang 2008-10-10 604 > INIT_LIST_HEAD(&dev_info->seg_list); > b2300b9efe Hongjie Yang 2008-10-10 605 } > b2300b9efe Hongjie Yang 2008-10-10 606 > list_add_tail(&seg_info->lh, &dev_info->seg_list); > b2300b9efe Hongjie Yang 2008-10-10 607 num_of_segments++; > b2300b9efe Hongjie Yang 2008-10-10 608 i = j; > b2300b9efe Hongjie Yang 2008-10-10 609 > b2300b9efe Hongjie Yang 2008-10-10 610 if ((buf[j] == '\0') || > (buf[j] == '\n')) > b2300b9efe Hongjie Yang 2008-10-10 611 break; > b2300b9efe Hongjie Yang 2008-10-10 612 } > b2300b9efe Hongjie Yang 2008-10-10 613 > b2300b9efe Hongjie Yang 2008-10-10 614 /* no trailing colon at > the end of the input */ > b2300b9efe Hongjie Yang 2008-10-10 615 if ((i > 0) && (buf[i-1] > == ':')) { > b2300b9efe Hongjie Yang 2008-10-10 616 rc = -ENAMETOOLONG; > b2300b9efe Hongjie Yang 2008-10-10 617 goto seg_list_del; > b2300b9efe Hongjie Yang 2008-10-10 618 } > b2300b9efe Hongjie Yang 2008-10-10 619 strlcpy(local_buf, buf, i > + 1); > b2300b9efe Hongjie Yang 2008-10-10 620 dev_info->num_of_segments > = num_of_segments; > b2300b9efe Hongjie Yang 2008-10-10 621 rc = > dcssblk_is_continuous(dev_info); > b2300b9efe Hongjie Yang 2008-10-10 622 if (rc < 0) > b2300b9efe Hongjie Yang 2008-10-10 623 goto seg_list_del; > b2300b9efe Hongjie Yang 2008-10-10 624 > b2300b9efe Hongjie Yang 2008-10-10 625 dev_info->start = > dcssblk_find_lowest_addr(dev_info); > b2300b9efe Hongjie Yang 2008-10-10 626 dev_info->end = > dcssblk_find_highest_addr(dev_info); > b2300b9efe Hongjie Yang 2008-10-10 627 > ef283688f5 Kees Cook 2014-06-10 628 > dev_set_name(&dev_info->dev, "%s", dev_info->segment_name); > ^1da177e4c Linus Torvalds 2005-04-16 629 dev_info->dev.release = > dcssblk_release_segment; > 521b3d790c Sebastian Ott 2012-10-01 630 dev_info->dev.groups = > dcssblk_dev_attr_groups; > ^1da177e4c Linus Torvalds 2005-04-16 631 > INIT_LIST_HEAD(&dev_info->lh); > ^1da177e4c Linus Torvalds 2005-04-16 632 dev_info->gd = > alloc_disk(DCSSBLK_MINORS_PER_DISK); > ^1da177e4c Linus Torvalds 2005-04-16 633 if (dev_info->gd == NULL) > { > ^1da177e4c Linus Torvalds 2005-04-16 634 rc = -ENOMEM; > b2300b9efe Hongjie Yang 2008-10-10 635 goto seg_list_del; > ^1da177e4c Linus Torvalds 2005-04-16 636 } > ^1da177e4c Linus Torvalds 2005-04-16 637 dev_info->gd->major = > dcssblk_major; > ^1da177e4c Linus Torvalds 2005-04-16 638 dev_info->gd->fops = > &dcssblk_devops; > ^1da177e4c Linus Torvalds 2005-04-16 639 dev_info->dcssblk_queue = > blk_alloc_queue(GFP_KERNEL); > ^1da177e4c Linus Torvalds 2005-04-16 640 dev_info->gd->queue = > dev_info->dcssblk_queue; > ^1da177e4c Linus Torvalds 2005-04-16 641 dev_info->gd->private_data > = dev_info; > c5411dba58 Heiko Carstens 2008-02-05 642 > blk_queue_make_request(dev_info->dcssblk_queue, dcssblk_make_request); > e1defc4ff0 Martin K. Petersen 2009-05-22 643 > blk_queue_logical_block_size(dev_info->dcssblk_queue, 4096); > 8b904b5b6b Bart Van Assche 2018-03-07 644 > blk_queue_flag_set(QUEUE_FLAG_DAX, dev_info->dcssblk_queue); > b2300b9efe Hongjie Yang 2008-10-10 645 > ^1da177e4c Linus Torvalds 2005-04-16 646 seg_byte_size = > (dev_info->end - dev_info->start + 1); > ^1da177e4c Linus Torvalds 2005-04-16 647 set_capacity(dev_info->gd, > seg_byte_size >> 9); // size in sectors > 93098bf015 Hongjie Yang 2008-12-25 648 pr_info("Loaded %s with > total size %lu bytes and capacity %lu " > 93098bf015 Hongjie Yang 2008-12-25 649 "sectors\n", local_buf, > seg_byte_size, seg_byte_size >> 9); > ^1da177e4c Linus Torvalds 2005-04-16 650 > ^1da177e4c Linus Torvalds 2005-04-16 651 dev_info->save_pending = > 0; > ^1da177e4c Linus Torvalds 2005-04-16 652 dev_info->is_shared = 1; > ^1da177e4c Linus Torvalds 2005-04-16 653 dev_info->dev.parent = > dcssblk_root_dev; > ^1da177e4c Linus Torvalds 2005-04-16 654 > ^1da177e4c Linus Torvalds 2005-04-16 655 /* > ^1da177e4c Linus Torvalds 2005-04-16 656 *get minor, add to list > ^1da177e4c Linus Torvalds 2005-04-16 657 */ > ^1da177e4c Linus Torvalds 2005-04-16 658 > down_write(&dcssblk_devices_sem); > b2300b9efe Hongjie Yang 2008-10-10 659 if > (dcssblk_get_segment_by_name(local_buf)) { > 04f64b5756 Gerald Schaefer 2008-08-21 660 rc = -EEXIST; > b2300b9efe Hongjie Yang 2008-10-10 661 goto release_gd; > 04f64b5756 Gerald Schaefer 2008-08-21 662 } > ^1da177e4c Linus Torvalds 2005-04-16 663 rc = > dcssblk_assign_free_minor(dev_info); > b2300b9efe Hongjie Yang 2008-10-10 664 if (rc) > b2300b9efe Hongjie Yang 2008-10-10 665 goto release_gd; > ^1da177e4c Linus Torvalds 2005-04-16 666 > sprintf(dev_info->gd->disk_name, "dcssblk%d", > d0591485e1 Gerald Schaefer 2009-06-12 667 > dev_info->gd->first_minor); > ^1da177e4c Linus Torvalds 2005-04-16 668 > list_add_tail(&dev_info->lh, &dcssblk_devices); > ^1da177e4c Linus Torvalds 2005-04-16 669 > ^1da177e4c Linus Torvalds 2005-04-16 670 if > (!try_module_get(THIS_MODULE)) { > ^1da177e4c Linus Torvalds 2005-04-16 671 rc = -ENODEV; > b2300b9efe Hongjie Yang 2008-10-10 672 goto dev_list_del; > ^1da177e4c Linus Torvalds 2005-04-16 673 } > ^1da177e4c Linus Torvalds 2005-04-16 674 /* > ^1da177e4c Linus Torvalds 2005-04-16 675 * register the device > ^1da177e4c Linus Torvalds 2005-04-16 676 */ > ^1da177e4c Linus Torvalds 2005-04-16 677 rc = > device_register(&dev_info->dev); > ^1da177e4c Linus Torvalds 2005-04-16 678 if (rc) > 521b3d790c Sebastian Ott 2012-10-01 679 goto put_dev; > ^1da177e4c Linus Torvalds 2005-04-16 680 > 7a2765f6e8 Dan Williams 2017-01-26 @681 dev_info->dax_dev = > alloc_dax(dev_info, dev_info->gd->disk_name, > 7a2765f6e8 Dan Williams 2017-01-26 682 &dcssblk_dax_ops); > 7a2765f6e8 Dan Williams 2017-01-26 683 if (!dev_info->dax_dev) { > 7a2765f6e8 Dan Williams 2017-01-26 684 rc = -ENOMEM; > 7a2765f6e8 Dan Williams 2017-01-26 685 goto put_dev; > 7a2765f6e8 Dan Williams 2017-01-26 686 } > 7a2765f6e8 Dan Williams 2017-01-26 687 > 521b3d790c Sebastian Ott 2012-10-01 688 > get_device(&dev_info->dev); > fef912bf86 Hannes Reinecke 2018-09-28 689 > device_add_disk(&dev_info->dev, dev_info->gd, NULL); > 436d1bc7fe Christian Borntraeger 2007-12-04 690 > ^1da177e4c Linus Torvalds 2005-04-16 691 switch > (dev_info->segment_type) { > ^1da177e4c Linus Torvalds 2005-04-16 692 case SEG_TYPE_SR: > ^1da177e4c Linus Torvalds 2005-04-16 693 case SEG_TYPE_ER: > ^1da177e4c Linus Torvalds 2005-04-16 694 case SEG_TYPE_SC: > ^1da177e4c Linus Torvalds 2005-04-16 695 > set_disk_ro(dev_info->gd,1); > ^1da177e4c Linus Torvalds 2005-04-16 696 break; > ^1da177e4c Linus Torvalds 2005-04-16 697 default: > ^1da177e4c Linus Torvalds 2005-04-16 698 > set_disk_ro(dev_info->gd,0); > ^1da177e4c Linus Torvalds 2005-04-16 699 break; > ^1da177e4c Linus Torvalds 2005-04-16 700 } > ^1da177e4c Linus Torvalds 2005-04-16 701 > up_write(&dcssblk_devices_sem); > ^1da177e4c Linus Torvalds 2005-04-16 702 rc = count; > ^1da177e4c Linus Torvalds 2005-04-16 703 goto out; > ^1da177e4c Linus Torvalds 2005-04-16 704 > 521b3d790c Sebastian Ott 2012-10-01 705 put_dev: > ^1da177e4c Linus Torvalds 2005-04-16 706 list_del(&dev_info->lh); > 1312f40e11 Al Viro 2006-03-12 707 > blk_cleanup_queue(dev_info->dcssblk_queue); > ^1da177e4c Linus Torvalds 2005-04-16 708 dev_info->gd->queue = > NULL; > ^1da177e4c Linus Torvalds 2005-04-16 709 put_disk(dev_info->gd); > b2300b9efe Hongjie Yang 2008-10-10 710 > list_for_each_entry(seg_info, &dev_info->seg_list, lh) { > b2300b9efe Hongjie Yang 2008-10-10 711 > segment_unload(seg_info->segment_name); > b2300b9efe Hongjie Yang 2008-10-10 712 } > ^1da177e4c Linus Torvalds 2005-04-16 713 > put_device(&dev_info->dev); > ^1da177e4c Linus Torvalds 2005-04-16 714 > up_write(&dcssblk_devices_sem); > ^1da177e4c Linus Torvalds 2005-04-16 715 goto out; > b2300b9efe Hongjie Yang 2008-10-10 716 dev_list_del: > ^1da177e4c Linus Torvalds 2005-04-16 717 list_del(&dev_info->lh); > b2300b9efe Hongjie Yang 2008-10-10 718 release_gd: > 1312f40e11 Al Viro 2006-03-12 719 > blk_cleanup_queue(dev_info->dcssblk_queue); > ^1da177e4c Linus Torvalds 2005-04-16 720 dev_info->gd->queue = > NULL; > ^1da177e4c Linus Torvalds 2005-04-16 721 put_disk(dev_info->gd); > b2300b9efe Hongjie Yang 2008-10-10 722 > up_write(&dcssblk_devices_sem); > b2300b9efe Hongjie Yang 2008-10-10 723 seg_list_del: > b2300b9efe Hongjie Yang 2008-10-10 724 if (dev_info == NULL) > b2300b9efe Hongjie Yang 2008-10-10 725 goto out; > b2300b9efe Hongjie Yang 2008-10-10 726 > list_for_each_entry_safe(seg_info, temp, &dev_info->seg_list, lh) { > b2300b9efe Hongjie Yang 2008-10-10 727 list_del(&seg_info->lh); > b2300b9efe Hongjie Yang 2008-10-10 728 > segment_unload(seg_info->segment_name); > b2300b9efe Hongjie Yang 2008-10-10 729 kfree(seg_info); > b2300b9efe Hongjie Yang 2008-10-10 730 } > ^1da177e4c Linus Torvalds 2005-04-16 731 kfree(dev_info); > ^1da177e4c Linus Torvalds 2005-04-16 732 out: > ^1da177e4c Linus Torvalds 2005-04-16 733 kfree(local_buf); > ^1da177e4c Linus Torvalds 2005-04-16 734 out_nobuf: > ^1da177e4c Linus Torvalds 2005-04-16 735 return rc; > ^1da177e4c Linus Torvalds 2005-04-16 736 } > ^1da177e4c Linus Torvalds 2005-04-16 737 > > :::::: The code at line 681 was first introduced by commit > :::::: 7a2765f6e82063f348ebce78c28eceff741689d4 dcssblk: add dax_operations > support > > :::::: TO: Dan Williams > :::::: CC: Dan Williams > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation > _______________________________________________ Linux-nvdimm mailing list Linux-nvdimm@lists.01.org https://lists.01.org/mailman/listinfo/linux-nvdimm