lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <201609052255.MAojDlBR%fengguang.wu@intel.com>
Date:   Mon, 5 Sep 2016 22:09:57 +0800
From:   kbuild test robot <fengguang.wu@...el.com>
To:     Christoph Hellwig <hch@....de>
Cc:     kbuild-all@...org, linux-kernel@...r.kernel.org,
        Sagi Grimberg <sagi@...mberg.me>,
        Jay Freyensee <james_p_freyensee@...ux.intel.com>
Subject: drivers/nvme/host/nvme.h:217:20: error: 'REQ_OP_DISCARD' undeclared

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   c6935931c1894ff857616ff8549b61236a19148f
commit: aa71987472a974f4f6dc4be377720564079ef42e nvme: fabrics drivers don't need the nvme-pci driver
date:   2 weeks ago
config: i386-randconfig-h0-09052023 (attached as .config)
compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        git checkout aa71987472a974f4f6dc4be377720564079ef42e
        # save the attached .config to linux build tree
        make ARCH=i386 

All error/warnings (new ones prefixed by >>):

   In file included from drivers/nvme/host/core.c:16:0:
   include/linux/blk-mq.h:61:18: error: field 'kobj' has incomplete type
     struct kobject  kobj;
                     ^~~~
   include/linux/blk-mq.h:128:2: error: unknown type name 'softirq_done_fn'
     softirq_done_fn  *complete;
     ^~~~~~~~~~~~~~~
   include/linux/blk-mq.h:181:33: warning: 'struct gendisk' declared inside parameter list will not be visible outside of this definition or declaration
    int blk_mq_register_disk(struct gendisk *);
                                    ^~~~~~~
   include/linux/blk-mq.h:182:36: warning: 'struct gendisk' declared inside parameter list will not be visible outside of this definition or declaration
    void blk_mq_unregister_disk(struct gendisk *);
                                       ^~~~~~~
   include/linux/blk-mq.h: In function 'blk_mq_rq_from_pdu':
   include/linux/blk-mq.h:260:22: error: invalid application of 'sizeof' to incomplete type 'struct request'
     return pdu - sizeof(struct request);
                         ^~~~~~
   include/linux/blk-mq.h: In function 'blk_mq_rq_to_pdu':
   include/linux/blk-mq.h:264:2: error: invalid use of undefined type 'struct request'
     return rq + 1;
     ^~~~~~
   In file included from drivers/nvme/host/core.c:32:0:
   drivers/nvme/host/nvme.h: In function 'nvme_map_len':
   drivers/nvme/host/nvme.h:217:6: error: implicit declaration of function 'req_op' [-Werror=implicit-function-declaration]
     if (req_op(rq) == REQ_OP_DISCARD)
         ^~~~~~
>> drivers/nvme/host/nvme.h:217:20: error: 'REQ_OP_DISCARD' undeclared (first use in this function)
     if (req_op(rq) == REQ_OP_DISCARD)
                       ^~~~~~~~~~~~~~
   drivers/nvme/host/nvme.h:217:20: note: each undeclared identifier is reported only once for each function it appears in
   drivers/nvme/host/nvme.h:220:10: error: implicit declaration of function 'blk_rq_bytes' [-Werror=implicit-function-declaration]
      return blk_rq_bytes(rq);
             ^~~~~~~~~~~~
   drivers/nvme/host/nvme.h: In function 'nvme_cleanup_cmd':
   drivers/nvme/host/nvme.h:225:21: error: 'REQ_OP_DISCARD' undeclared (first use in this function)
     if (req_op(req) == REQ_OP_DISCARD)
                        ^~~~~~~~~~~~~~
   drivers/nvme/host/nvme.h:226:12: error: dereferencing pointer to incomplete type 'struct request'
      kfree(req->completion_data);
               ^~
   drivers/nvme/host/nvme.h: In function 'nvme_req_needs_retry':
   drivers/nvme/host/nvme.h:243:35: error: implicit declaration of function 'blk_noretry_request' [-Werror=implicit-function-declaration]
     return !(status & NVME_SC_DNR || blk_noretry_request(req)) &&
                                      ^~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_cancel_request':
   drivers/nvme/host/core.c:75:6: error: implicit declaration of function 'blk_queue_dying' [-Werror=implicit-function-declaration]
     if (blk_queue_dying(req->q))
         ^~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_free_ns':
   drivers/nvme/host/core.c:157:42: error: dereferencing pointer to incomplete type 'struct gendisk'
      nvme_nvm_unregister(ns->queue, ns->disk->disk_name);
                                             ^~
   drivers/nvme/host/core.c:163:2: error: implicit declaration of function 'put_disk' [-Werror=implicit-function-declaration]
     put_disk(ns->disk);
     ^~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_requeue_req':
   drivers/nvme/host/core.c:203:7: error: implicit declaration of function 'blk_queue_stopped' [-Werror=implicit-function-declaration]
     if (!blk_queue_stopped(req->q))
          ^~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_alloc_request':
   drivers/nvme/host/core.c:223:18: error: 'REQ_TYPE_DRV_PRIV' undeclared (first use in this function)
     req->cmd_type = REQ_TYPE_DRV_PRIV;
                     ^~~~~~~~~~~~~~~~~
>> drivers/nvme/host/core.c:224:20: error: 'REQ_FAILFAST_DRIVER' undeclared (first use in this function)
     req->cmd_flags |= REQ_FAILFAST_DRIVER;
                       ^~~~~~~~~~~~~~~~~~~
   In file included from include/linux/byteorder/little_endian.h:4:0,
                    from arch/x86/include/uapi/asm/byteorder.h:4,
                    from include/asm-generic/bitops/le.h:5,
                    from arch/x86/include/asm/bitops.h:504,
                    from include/linux/bitops.h:36,
                    from include/linux/kernel.h:10,
                    from include/linux/sched.h:17,
                    from include/linux/blkdev.h:4,
                    from drivers/nvme/host/core.c:15:
   drivers/nvme/host/core.c: In function 'nvme_setup_discard':
   drivers/nvme/host/core.c:254:46: error: implicit declaration of function 'blk_rq_pos' [-Werror=implicit-function-declaration]
     range->slba = cpu_to_le64(nvme_block_nr(ns, blk_rq_pos(req)));
                                                 ^
   include/uapi/linux/byteorder/little_endian.h:30:51: note: in definition of macro '__cpu_to_le64'
    #define __cpu_to_le64(x) ((__force __le64)(__u64)(x))
                                                      ^
   drivers/nvme/host/core.c:254:16: note: in expansion of macro 'cpu_to_le64'
     range->slba = cpu_to_le64(nvme_block_nr(ns, blk_rq_pos(req)));
                   ^~~~~~~~~~~
   drivers/nvme/host/core.c:265:2: error: implicit declaration of function 'blk_add_request_payload' [-Werror=implicit-function-declaration]
     blk_add_request_payload(req, page, offset, sizeof(*range));
     ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_setup_rw':
>> drivers/nvme/host/core.c:283:23: error: 'REQ_FUA' undeclared (first use in this function)
     if (req->cmd_flags & REQ_FUA)
                          ^~~~~~~
>> drivers/nvme/host/core.c:285:24: error: 'REQ_FAILFAST_DEV' undeclared (first use in this function)
     if (req->cmd_flags & (REQ_FAILFAST_DEV | REQ_RAHEAD))
                           ^~~~~~~~~~~~~~~~
>> drivers/nvme/host/core.c:285:43: error: 'REQ_RAHEAD' undeclared (first use in this function)
     if (req->cmd_flags & (REQ_FAILFAST_DEV | REQ_RAHEAD))
                                              ^~~~~~~~~~
   drivers/nvme/host/core.c:292:21: error: implicit declaration of function 'rq_data_dir' [-Werror=implicit-function-declaration]
     cmnd->rw.opcode = (rq_data_dir(req) ? nvme_cmd_write : nvme_cmd_read);
                        ^~~~~~~~~~~
   drivers/nvme/host/core.c:311:8: error: implicit declaration of function 'blk_integrity_rq' [-Werror=implicit-function-declaration]
      if (!blk_integrity_rq(req))
           ^~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_setup_cmd':
   drivers/nvme/host/core.c:324:23: error: 'REQ_TYPE_DRV_PRIV' undeclared (first use in this function)
     if (req->cmd_type == REQ_TYPE_DRV_PRIV)
                          ^~~~~~~~~~~~~~~~~
>> drivers/nvme/host/core.c:326:26: error: 'REQ_OP_FLUSH' undeclared (first use in this function)
     else if (req_op(req) == REQ_OP_FLUSH)
                             ^~~~~~~~~~~~
>> drivers/nvme/host/core.c:328:26: error: 'REQ_OP_DISCARD' undeclared (first use in this function)
     else if (req_op(req) == REQ_OP_DISCARD)
                             ^~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function '__nvme_submit_sync_cmd':
   drivers/nvme/host/core.c:356:9: error: implicit declaration of function 'blk_rq_map_kern' [-Werror=implicit-function-declaration]
      ret = blk_rq_map_kern(q, req, buffer, bufflen, GFP_KERNEL);
            ^~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:361:2: error: implicit declaration of function 'blk_execute_rq' [-Werror=implicit-function-declaration]
     blk_execute_rq(req->q, NULL, req, at_head);
     ^~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function '__nvme_submit_user_cmd':
   drivers/nvme/host/core.c:384:24: error: dereferencing pointer to incomplete type 'struct request_queue'
     struct nvme_ns *ns = q->queuedata;
                           ^~
   drivers/nvme/host/core.c:399:9: error: implicit declaration of function 'blk_rq_map_user' [-Werror=implicit-function-declaration]
      ret = blk_rq_map_user(q, req, NULL, ubuffer, bufflen,
            ^~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:407:6: error: dereferencing pointer to incomplete type 'struct bio'
      bio->bi_bdev = bdget_disk(disk, 0);
         ^~
   drivers/nvme/host/core.c:407:18: error: implicit declaration of function 'bdget_disk' [-Werror=implicit-function-declaration]
      bio->bi_bdev = bdget_disk(disk, 0);
                     ^~~~~~~~~~
   drivers/nvme/host/core.c:423:9: error: implicit declaration of function 'copy_from_user' [-Werror=implicit-function-declaration]
        if (copy_from_user(meta, meta_buffer,
            ^~~~~~~~~~~~~~
   drivers/nvme/host/core.c:430:10: error: implicit declaration of function 'bio_integrity_alloc' [-Werror=implicit-function-declaration]
       bip = bio_integrity_alloc(bio, GFP_KERNEL, 1);
             ^~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:430:8: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
       bip = bio_integrity_alloc(bio, GFP_KERNEL, 1);
           ^
   drivers/nvme/host/core.c:436:7: error: dereferencing pointer to incomplete type 'struct bio_integrity_payload'
       bip->bip_iter.bi_size = meta_len;
          ^~
   drivers/nvme/host/core.c:439:10: error: implicit declaration of function 'bio_integrity_add_page' [-Werror=implicit-function-declaration]
       ret = bio_integrity_add_page(bio, virt_to_page(meta),
             ^~~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:453:7: error: implicit declaration of function 'copy_to_user' [-Werror=implicit-function-declaration]
      if (copy_to_user(meta_buffer, meta, meta_len))
          ^~~~~~~~~~~~
   drivers/nvme/host/core.c:461:4: error: implicit declaration of function 'bdput' [-Werror=implicit-function-declaration]
       bdput(bio->bi_bdev);
       ^~~~~
   drivers/nvme/host/core.c:462:3: error: implicit declaration of function 'blk_rq_unmap_user' [-Werror=implicit-function-declaration]
      blk_rq_unmap_user(bio);
      ^~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_keep_alive':
   drivers/nvme/host/core.c:508:2: error: implicit declaration of function 'blk_execute_rq_nowait' [-Werror=implicit-function-declaration]
     blk_execute_rq_nowait(rq->q, NULL, rq, 0, nvme_keep_alive_end_io);
     ^~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_user_cmd':
   drivers/nvme/host/core.c:771:7: error: implicit declaration of function 'put_user' [-Werror=implicit-function-declaration]
      if (put_user(cmd.result, &ucmd->result))
          ^~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_ioctl':
>> drivers/nvme/host/core.c:781:27: error: dereferencing pointer to incomplete type 'struct block_device'
     struct nvme_ns *ns = bdev->bd_disk->private_data;
                              ^~
   drivers/nvme/host/core.c: In function 'nvme_getgeo':
   drivers/nvme/host/core.c:836:19: error: implicit declaration of function 'get_capacity' [-Werror=implicit-function-declaration]
     geo->cylinders = get_capacity(bdev->bd_disk) >> 11;
                      ^~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_config_discard':
   drivers/nvme/host/core.c:875:27: error: implicit declaration of function 'queue_logical_block_size' [-Werror=implicit-function-declaration]
     u32 logical_block_size = queue_logical_block_size(ns->queue);
                              ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:884:2: error: implicit declaration of function 'blk_queue_max_discard_sectors' [-Werror=implicit-function-declaration]
     blk_queue_max_discard_sectors(ns->queue, UINT_MAX);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:885:2: error: implicit declaration of function 'queue_flag_set_unlocked' [-Werror=implicit-function-declaration]
     queue_flag_set_unlocked(QUEUE_FLAG_DISCARD, ns->queue);
     ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:885:26: error: 'QUEUE_FLAG_DISCARD' undeclared (first use in this function)
     queue_flag_set_unlocked(QUEUE_FLAG_DISCARD, ns->queue);
                             ^~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_revalidate_disk':
   drivers/nvme/host/core.c:897:3: error: implicit declaration of function 'set_capacity' [-Werror=implicit-function-declaration]
      set_capacity(disk, 0);
      ^~~~~~~~~~~~
   drivers/nvme/host/core.c:901:12: error: implicit declaration of function 'disk_to_dev' [-Werror=implicit-function-declaration]
      dev_warn(disk_to_dev(ns->disk), "%s: Identify failure\n",
               ^~~~~~~~~~~
   drivers/nvme/host/core.c:901:12: warning: passing argument 1 of 'dev_warn' makes pointer from integer without a cast [-Wint-conversion]
   In file included from include/linux/pci.h:30:0,
                    from drivers/nvme/host/nvme.h:18,
                    from drivers/nvme/host/core.c:32:
   include/linux/device.h:1137:6: note: expected 'const struct device *' but argument is of type 'int'
    void dev_warn(const struct device *dev, const char *fmt, ...);
         ^~~~~~~~
   drivers/nvme/host/core.c:912:13: warning: passing argument 1 of 'dev_warn' makes pointer from integer without a cast [-Wint-conversion]
       dev_warn(disk_to_dev(ns->disk),
                ^~~~~~~~~~~
   In file included from include/linux/pci.h:30:0,
                    from drivers/nvme/host/nvme.h:18,
                    from drivers/nvme/host/core.c:32:
   include/linux/device.h:1137:6: note: expected 'const struct device *' but argument is of type 'int'
    void dev_warn(const struct device *dev, const char *fmt, ...);
         ^~~~~~~~
   drivers/nvme/host/core.c:943:6: error: implicit declaration of function 'blk_get_integrity' [-Werror=implicit-function-declaration]
     if (blk_get_integrity(disk) && (ns->pi_type != pi_type ||
         ^~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:947:3: error: implicit declaration of function 'blk_integrity_unregister' [-Werror=implicit-function-declaration]
      blk_integrity_unregister(disk);
      ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:950:2: error: implicit declaration of function 'blk_queue_logical_block_size' [-Werror=implicit-function-declaration]
     blk_queue_logical_block_size(ns->queue, bs);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: At top level:
   drivers/nvme/host/core.c:1059:21: error: variable 'nvme_fops' has initializer but incomplete type
    static const struct block_device_operations nvme_fops = {
                        ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:1060:2: error: unknown field 'owner' specified in initializer
     .owner  = THIS_MODULE,
     ^
   In file included from include/linux/linkage.h:6:0,
                    from include/linux/kernel.h:6,
                    from include/linux/sched.h:17,
                    from include/linux/blkdev.h:4,
                    from drivers/nvme/host/core.c:15:
   include/linux/export.h:36:21: warning: excess elements in struct initializer
    #define THIS_MODULE ((struct module *)0)
                        ^
   drivers/nvme/host/core.c:1060:12: note: in expansion of macro 'THIS_MODULE'
     .owner  = THIS_MODULE,
               ^~~~~~~~~~~
   include/linux/export.h:36:21: note: (near initialization for 'nvme_fops')
    #define THIS_MODULE ((struct module *)0)
                        ^
   drivers/nvme/host/core.c:1060:12: note: in expansion of macro 'THIS_MODULE'
     .owner  = THIS_MODULE,
               ^~~~~~~~~~~
   drivers/nvme/host/core.c:1061:2: error: unknown field 'ioctl' specified in initializer
     .ioctl  = nvme_ioctl,
     ^
   drivers/nvme/host/core.c:1061:12: warning: excess elements in struct initializer
     .ioctl  = nvme_ioctl,
               ^~~~~~~~~~
   drivers/nvme/host/core.c:1061:12: note: (near initialization for 'nvme_fops')
   drivers/nvme/host/core.c:1062:2: error: unknown field 'compat_ioctl' specified in initializer
     .compat_ioctl = nvme_compat_ioctl,
     ^
   In file included from include/uapi/linux/posix_types.h:4:0,
                    from include/uapi/linux/types.h:13,
                    from include/linux/types.h:5,
                    from include/uapi/linux/capability.h:16,
                    from include/linux/capability.h:15,
                    from include/linux/sched.h:15,
                    from include/linux/blkdev.h:4,
                    from drivers/nvme/host/core.c:15:
   include/linux/stddef.h:7:14: warning: excess elements in struct initializer
    #define NULL ((void *)0)
                 ^
   drivers/nvme/host/core.c:815:27: note: in expansion of macro 'NULL'
    #define nvme_compat_ioctl NULL
                              ^~~~
   drivers/nvme/host/core.c:1062:18: note: in expansion of macro 'nvme_compat_ioctl'
     .compat_ioctl = nvme_compat_ioctl,
                     ^~~~~~~~~~~~~~~~~
   include/linux/stddef.h:7:14: note: (near initialization for 'nvme_fops')
    #define NULL ((void *)0)
                 ^
   drivers/nvme/host/core.c:815:27: note: in expansion of macro 'NULL'
    #define nvme_compat_ioctl NULL
                              ^~~~
   drivers/nvme/host/core.c:1062:18: note: in expansion of macro 'nvme_compat_ioctl'
     .compat_ioctl = nvme_compat_ioctl,
                     ^~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:1063:2: error: unknown field 'open' specified in initializer
     .open  = nvme_open,
     ^
   drivers/nvme/host/core.c:1063:11: warning: excess elements in struct initializer
     .open  = nvme_open,
              ^~~~~~~~~
   drivers/nvme/host/core.c:1063:11: note: (near initialization for 'nvme_fops')
   drivers/nvme/host/core.c:1064:2: error: unknown field 'release' specified in initializer
     .release = nvme_release,
     ^
   drivers/nvme/host/core.c:1064:13: warning: excess elements in struct initializer
     .release = nvme_release,
                ^~~~~~~~~~~~
   drivers/nvme/host/core.c:1064:13: note: (near initialization for 'nvme_fops')
   drivers/nvme/host/core.c:1065:2: error: unknown field 'getgeo' specified in initializer
     .getgeo  = nvme_getgeo,
     ^
   drivers/nvme/host/core.c:1065:13: warning: excess elements in struct initializer
     .getgeo  = nvme_getgeo,
                ^~~~~~~~~~~
   drivers/nvme/host/core.c:1065:13: note: (near initialization for 'nvme_fops')
   drivers/nvme/host/core.c:1066:2: error: unknown field 'revalidate_disk' specified in initializer
     .revalidate_disk= nvme_revalidate_disk,
     ^
   drivers/nvme/host/core.c:1066:20: warning: excess elements in struct initializer
     .revalidate_disk= nvme_revalidate_disk,
                       ^~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:1066:20: note: (near initialization for 'nvme_fops')
   drivers/nvme/host/core.c:1067:2: error: unknown field 'pr_ops' specified in initializer
     .pr_ops  = &nvme_pr_ops,
     ^
   drivers/nvme/host/core.c:1067:13: warning: excess elements in struct initializer
     .pr_ops  = &nvme_pr_ops,
                ^
   drivers/nvme/host/core.c:1067:13: note: (near initialization for 'nvme_fops')
   drivers/nvme/host/core.c: In function 'nvme_set_queue_limits':
   drivers/nvme/host/core.c:1196:3: error: implicit declaration of function 'blk_queue_max_hw_sectors' [-Werror=implicit-function-declaration]
      blk_queue_max_hw_sectors(q, ctrl->max_hw_sectors);
      ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:1197:3: error: implicit declaration of function 'blk_queue_max_segments' [-Werror=implicit-function-declaration]
      blk_queue_max_segments(q, min_t(u32, max_segments, USHRT_MAX));
      ^~~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:1200:3: error: implicit declaration of function 'blk_queue_chunk_sectors' [-Werror=implicit-function-declaration]
      blk_queue_chunk_sectors(q, ctrl->stripe_size >> 9);
      ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:1201:2: error: implicit declaration of function 'blk_queue_virt_boundary' [-Werror=implicit-function-declaration]
     blk_queue_virt_boundary(q, ctrl->page_size - 1);
     ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:1204:2: error: implicit declaration of function 'blk_queue_write_cache' [-Werror=implicit-function-declaration]
     blk_queue_write_cache(q, vwc, vwc);
     ^~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_dev_open':
>> drivers/nvme/host/core.c:1303:17: error: implicit declaration of function 'iminor' [-Werror=implicit-function-declaration]
     int instance = iminor(inode);
                    ^~~~~~
>> drivers/nvme/host/core.c:1317:7: error: dereferencing pointer to incomplete type 'struct file'
      file->private_data = ctrl;
          ^~
   drivers/nvme/host/core.c: At top level:
>> drivers/nvme/host/core.c:1389:21: error: variable 'nvme_dev_fops' has initializer but incomplete type
    static const struct file_operations nvme_dev_fops = {
                        ^~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:1390:2: error: unknown field 'owner' specified in initializer
     .owner  = THIS_MODULE,
     ^
   In file included from include/linux/linkage.h:6:0,
                    from include/linux/kernel.h:6,
                    from include/linux/sched.h:17,
                    from include/linux/blkdev.h:4,
                    from drivers/nvme/host/core.c:15:
   include/linux/export.h:36:21: warning: excess elements in struct initializer
    #define THIS_MODULE ((struct module *)0)
                        ^
   drivers/nvme/host/core.c:1390:12: note: in expansion of macro 'THIS_MODULE'
     .owner  = THIS_MODULE,
               ^~~~~~~~~~~
   include/linux/export.h:36:21: note: (near initialization for 'nvme_dev_fops')
    #define THIS_MODULE ((struct module *)0)
                        ^
   drivers/nvme/host/core.c:1390:12: note: in expansion of macro 'THIS_MODULE'
     .owner  = THIS_MODULE,
               ^~~~~~~~~~~
   drivers/nvme/host/core.c:1391:2: error: unknown field 'open' specified in initializer
     .open  = nvme_dev_open,
     ^
   drivers/nvme/host/core.c:1391:11: warning: excess elements in struct initializer
     .open  = nvme_dev_open,
              ^~~~~~~~~~~~~
   drivers/nvme/host/core.c:1391:11: note: (near initialization for 'nvme_dev_fops')
   drivers/nvme/host/core.c:1392:2: error: unknown field 'release' specified in initializer
     .release = nvme_dev_release,
     ^
   drivers/nvme/host/core.c:1392:13: warning: excess elements in struct initializer
     .release = nvme_dev_release,
                ^~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:1392:13: note: (near initialization for 'nvme_dev_fops')
>> drivers/nvme/host/core.c:1393:2: error: unknown field 'unlocked_ioctl' specified in initializer
     .unlocked_ioctl = nvme_dev_ioctl,
     ^
   drivers/nvme/host/core.c:1393:20: warning: excess elements in struct initializer
     .unlocked_ioctl = nvme_dev_ioctl,
                       ^~~~~~~~~~~~~~
   drivers/nvme/host/core.c:1393:20: note: (near initialization for 'nvme_dev_fops')
   drivers/nvme/host/core.c:1394:2: error: unknown field 'compat_ioctl' specified in initializer
     .compat_ioctl = nvme_dev_ioctl,
     ^
   drivers/nvme/host/core.c:1394:18: warning: excess elements in struct initializer
     .compat_ioctl = nvme_dev_ioctl,
                     ^~~~~~~~~~~~~~
   drivers/nvme/host/core.c:1394:18: note: (near initialization for 'nvme_dev_fops')
   drivers/nvme/host/core.c: In function 'wwid_show':
   drivers/nvme/host/core.c:1425:23: error: implicit declaration of function 'dev_to_disk' [-Werror=implicit-function-declaration]
     struct nvme_ns *ns = dev_to_disk(dev)->private_data;
                          ^~~~~~~~~~~
   drivers/nvme/host/core.c:1425:39: error: invalid type argument of '->' (have 'int')
     struct nvme_ns *ns = dev_to_disk(dev)->private_data;
                                          ^~
   drivers/nvme/host/core.c: In function 'uuid_show':
   drivers/nvme/host/core.c:1449:39: error: invalid type argument of '->' (have 'int')
     struct nvme_ns *ns = dev_to_disk(dev)->private_data;
                                          ^~
   drivers/nvme/host/core.c: In function 'eui_show':
   drivers/nvme/host/core.c:1457:39: error: invalid type argument of '->' (have 'int')
     struct nvme_ns *ns = dev_to_disk(dev)->private_data;
                                          ^~
   drivers/nvme/host/core.c: In function 'nsid_show':
   drivers/nvme/host/core.c:1465:39: error: invalid type argument of '->' (have 'int')
     struct nvme_ns *ns = dev_to_disk(dev)->private_data;
                                          ^~
   drivers/nvme/host/core.c: In function 'nvme_ns_attrs_are_visible':
   drivers/nvme/host/core.c:1482:39: error: invalid type argument of '->' (have 'int')
     struct nvme_ns *ns = dev_to_disk(dev)->private_data;
                                          ^~
   drivers/nvme/host/core.c: In function 'nvme_alloc_ns':
   drivers/nvme/host/core.c:1655:26: error: 'QUEUE_FLAG_NONROT' undeclared (first use in this function)
     queue_flag_set_unlocked(QUEUE_FLAG_NONROT, ns->queue);
                             ^~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:1659:9: error: implicit declaration of function 'alloc_disk_node' [-Werror=implicit-function-declaration]
     disk = alloc_disk_node(0, node);
            ^~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:1659:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     disk = alloc_disk_node(0, node);
          ^
   drivers/nvme/host/core.c:1675:16: error: 'GENHD_FL_EXT_DEVT' undeclared (first use in this function)
     disk->flags = GENHD_FL_EXT_DEVT;
                   ^~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:1689:2: error: implicit declaration of function 'device_add_disk' [-Werror=implicit-function-declaration]
     device_add_disk(ctrl->device, ns->disk);
     ^~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:1690:47: error: invalid type argument of '->' (have 'int')
     if (sysfs_create_group(&disk_to_dev(ns->disk)->kobj,
                                                  ^~
   drivers/nvme/host/core.c:1698:2: error: implicit declaration of function 'blk_cleanup_queue' [-Werror=implicit-function-declaration]
     blk_cleanup_queue(ns->queue);
     ^~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_ns_remove':
   drivers/nvme/host/core.c:1710:24: error: 'GENHD_FL_UP' undeclared (first use in this function)
     if (ns->disk->flags & GENHD_FL_UP) {
                           ^~~~~~~~~~~
   drivers/nvme/host/core.c:1713:44: error: invalid type argument of '->' (have 'int')
      sysfs_remove_group(&disk_to_dev(ns->disk)->kobj,
                                               ^~
   drivers/nvme/host/core.c:1715:3: error: implicit declaration of function 'del_gendisk' [-Werror=implicit-function-declaration]
      del_gendisk(ns->disk);
      ^~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_validate_ns':
   drivers/nvme/host/core.c:1733:7: error: implicit declaration of function 'revalidate_disk' [-Werror=implicit-function-declaration]
      if (revalidate_disk(ns->disk))
          ^~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_uninit_ctrl':
>> drivers/nvme/host/core.c:1948:29: error: implicit declaration of function 'MKDEV' [-Werror=implicit-function-declaration]
     device_destroy(nvme_class, MKDEV(nvme_char_major, ctrl->instance));
                                ^~~~~
   drivers/nvme/host/core.c: In function 'nvme_kill_queues':
   drivers/nvme/host/core.c:2041:3: error: implicit declaration of function 'blk_set_queue_dying' [-Werror=implicit-function-declaration]
      blk_set_queue_dying(ns->queue);
      ^~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_stop_queues':
   drivers/nvme/host/core.c:2056:3: error: implicit declaration of function 'queue_flag_set' [-Werror=implicit-function-declaration]
      queue_flag_set(QUEUE_FLAG_STOPPED, ns->queue);
      ^~~~~~~~~~~~~~
   drivers/nvme/host/core.c:2056:18: error: 'QUEUE_FLAG_STOPPED' undeclared (first use in this function)
      queue_flag_set(QUEUE_FLAG_STOPPED, ns->queue);
                     ^~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_start_queues':
   drivers/nvme/host/core.c:2072:3: error: implicit declaration of function 'queue_flag_clear_unlocked' [-Werror=implicit-function-declaration]
      queue_flag_clear_unlocked(QUEUE_FLAG_STOPPED, ns->queue);
      ^~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c:2072:29: error: 'QUEUE_FLAG_STOPPED' undeclared (first use in this function)
      queue_flag_clear_unlocked(QUEUE_FLAG_STOPPED, ns->queue);
                                ^~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_core_init':
>> drivers/nvme/host/core.c:2084:11: error: implicit declaration of function '__register_chrdev' [-Werror=implicit-function-declaration]
     result = __register_chrdev(nvme_char_major, 0, NVME_MINORS, "nvme",
              ^~~~~~~~~~~~~~~~~
>> drivers/nvme/host/core.c:35:29: error: 'MINORBITS' undeclared (first use in this function)
    #define NVME_MINORS  (1U << MINORBITS)
                                ^
>> drivers/nvme/host/core.c:2084:49: note: in expansion of macro 'NVME_MINORS'
     result = __register_chrdev(nvme_char_major, 0, NVME_MINORS, "nvme",
                                                    ^~~~~~~~~~~
>> drivers/nvme/host/core.c:2100:2: error: implicit declaration of function '__unregister_chrdev' [-Werror=implicit-function-declaration]
     __unregister_chrdev(nvme_char_major, 0, NVME_MINORS, "nvme");
     ^~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/core.c: In function 'nvme_core_exit':
>> drivers/nvme/host/core.c:35:29: error: 'MINORBITS' undeclared (first use in this function)
    #define NVME_MINORS  (1U << MINORBITS)
                                ^
   drivers/nvme/host/core.c:2107:42: note: in expansion of macro 'NVME_MINORS'
     __unregister_chrdev(nvme_char_major, 0, NVME_MINORS, "nvme");
                                             ^~~~~~~~~~~
   drivers/nvme/host/core.c: At top level:
   drivers/nvme/host/core.c:1059:45: error: storage size of 'nvme_fops' isn't known
    static const struct block_device_operations nvme_fops = {
                                                ^~~~~~~~~
>> drivers/nvme/host/core.c:1389:37: error: storage size of 'nvme_dev_fops' isn't known
    static const struct file_operations nvme_dev_fops = {
                                        ^~~~~~~~~~~~~
   cc1: some warnings being treated as errors
..

vim +/REQ_OP_DISCARD +217 drivers/nvme/host/nvme.h

1c63dc66 drivers/nvme/host/nvme.h Christoph Hellwig 2015-11-26  201  }
1c63dc66 drivers/nvme/host/nvme.h Christoph Hellwig 2015-11-26  202  
f3ca80fc drivers/nvme/host/nvme.h Christoph Hellwig 2015-11-28  203  static inline int nvme_reset_subsystem(struct nvme_ctrl *ctrl)
f3ca80fc drivers/nvme/host/nvme.h Christoph Hellwig 2015-11-28  204  {
f3ca80fc drivers/nvme/host/nvme.h Christoph Hellwig 2015-11-28  205  	if (!ctrl->subsystem)
f3ca80fc drivers/nvme/host/nvme.h Christoph Hellwig 2015-11-28  206  		return -ENOTTY;
f3ca80fc drivers/nvme/host/nvme.h Christoph Hellwig 2015-11-28  207  	return ctrl->ops->reg_write32(ctrl, NVME_REG_NSSR, 0x4E564D65);
f3ca80fc drivers/nvme/host/nvme.h Christoph Hellwig 2015-11-28  208  }
f3ca80fc drivers/nvme/host/nvme.h Christoph Hellwig 2015-11-28  209  
f11bb3e2 drivers/block/nvme.h     Christoph Hellwig 2015-10-03  210  static inline u64 nvme_block_nr(struct nvme_ns *ns, sector_t sector)
f11bb3e2 drivers/block/nvme.h     Christoph Hellwig 2015-10-03  211  {
f11bb3e2 drivers/block/nvme.h     Christoph Hellwig 2015-10-03  212  	return (sector >> (ns->lba_shift - 9));
f11bb3e2 drivers/block/nvme.h     Christoph Hellwig 2015-10-03  213  }
f11bb3e2 drivers/block/nvme.h     Christoph Hellwig 2015-10-03  214  
58b45602 drivers/nvme/host/nvme.h Ming Lin          2016-03-22  215  static inline unsigned nvme_map_len(struct request *rq)
58b45602 drivers/nvme/host/nvme.h Ming Lin          2016-03-22  216  {
c2df40df drivers/nvme/host/nvme.h Mike Christie     2016-06-05 @217  	if (req_op(rq) == REQ_OP_DISCARD)
58b45602 drivers/nvme/host/nvme.h Ming Lin          2016-03-22  218  		return sizeof(struct nvme_dsm_range);
58b45602 drivers/nvme/host/nvme.h Ming Lin          2016-03-22  219  	else
58b45602 drivers/nvme/host/nvme.h Ming Lin          2016-03-22  220  		return blk_rq_bytes(rq);
58b45602 drivers/nvme/host/nvme.h Ming Lin          2016-03-22  221  }
58b45602 drivers/nvme/host/nvme.h Ming Lin          2016-03-22  222  
6904242d drivers/nvme/host/nvme.h Ming Lin          2016-04-25  223  static inline void nvme_cleanup_cmd(struct request *req)
6904242d drivers/nvme/host/nvme.h Ming Lin          2016-04-25  224  {
c2df40df drivers/nvme/host/nvme.h Mike Christie     2016-06-05  225  	if (req_op(req) == REQ_OP_DISCARD)

:::::: The code at line 217 was first introduced by commit
:::::: c2df40dfb8c015211ec55f4b1dd0587f875c7b34 drivers: use req op accessor

:::::: TO: Mike Christie <mchristi@...hat.com>
:::::: CC: Jens Axboe <axboe@...com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/octet-stream" (27088 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ