tree:   https://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-next.git 
current-work
head:   71fe7e0ab249e42c17f387951aa09de7cb362d35
commit: 71fe7e0ab249e42c17f387951aa09de7cb362d35 [3/3] current-work
config: x86_64-randconfig-x008-201805 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        git checkout 71fe7e0ab249e42c17f387951aa09de7cb362d35
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   In file included from block/bio.c:20:0:
   include/linux/bio.h:521:55: warning: 'struct blkcg_gq' declared inside 
parameter list will not be visible outside of this definition or declaration
    static int bio_associate_blkg(struct bio *bio, struct blkcg_gq *blkg) { 
return 0; }
                                                          ^~~~~~~~
   block/bio.c: In function 'bio_endio':
>> block/bio.c:1801:2: error: implicit declaration of function 
>> 'rq_qos_done_bio'; did you mean 'rq_qos_id'? 
>> [-Werror=implicit-function-declaration]
     rq_qos_done_bio(bio->bi_disk->queue, bio);
     ^~~~~~~~~~~~~~~
     rq_qos_id
   In file included from block/bio.c:20:0:
   At top level:
   include/linux/bio.h:521:12: warning: 'bio_associate_blkg' defined but not 
used [-Wunused-function]
    static int bio_associate_blkg(struct bio *bio, struct blkcg_gq *blkg) { 
return 0; }
               ^~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors
--
   In file included from include/linux/blkdev.h:21:0,
                    from include/linux/backing-dev.h:15,
                    from block/blk-core.c:16:
   include/linux/bio.h:521:55: warning: 'struct blkcg_gq' declared inside 
parameter list will not be visible outside of this definition or declaration
    static int bio_associate_blkg(struct bio *bio, struct blkcg_gq *blkg) { 
return 0; }
                                                          ^~~~~~~~
   block/blk-core.c: In function 'blk_requeue_request':
>> block/blk-core.c:1545:2: error: implicit declaration of function 
>> 'rq_qos_requeue'; did you mean 'wbt_requeue'? 
>> [-Werror=implicit-function-declaration]
     rq_qos_requeue(q, &rq->issue_stat);
     ^~~~~~~~~~~~~~
     wbt_requeue
   block/blk-core.c: In function '__blk_put_request':
>> block/blk-core.c:1651:2: error: implicit declaration of function 
>> 'rq_qos_done'; did you mean 'rq_qos_add'? 
>> [-Werror=implicit-function-declaration]
     rq_qos_done(q, &req->issue_stat);
     ^~~~~~~~~~~
     rq_qos_add
   block/blk-core.c: In function 'blk_queue_bio':
>> block/blk-core.c:1943:12: error: implicit declaration of function 
>> 'rq_qos_throttle' [-Werror=implicit-function-declaration]
     wb_acct = rq_qos_throttle(q, bio, q->queue_lock);
               ^~~~~~~~~~~~~~~
>> block/blk-core.c:1953:3: error: implicit declaration of function 
>> 'rq_qos_cleanup'; did you mean 'rq_qos_add'? 
>> [-Werror=implicit-function-declaration]
      rq_qos_cleanup(q, wb_acct);
      ^~~~~~~~~~~~~~
      rq_qos_add
   block/blk-core.c: In function 'blk_start_request':
>> block/blk-core.c:2841:3: error: implicit declaration of function 
>> 'rq_qos_issue'; did you mean 'rq_qos_id'? 
>> [-Werror=implicit-function-declaration]
      rq_qos_issue(req->q, &req->issue_stat);
      ^~~~~~~~~~~~
      rq_qos_id
   In file included from include/linux/blkdev.h:21:0,
                    from include/linux/backing-dev.h:15,
                    from block/blk-core.c:16:
   At top level:
   include/linux/bio.h:521:12: warning: 'bio_associate_blkg' defined but not 
used [-Wunused-function]
    static int bio_associate_blkg(struct bio *bio, struct blkcg_gq *blkg) { 
return 0; }
               ^~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors
--
   In file included from block/blk-sysfs.c:8:0:
   include/linux/bio.h:521:55: warning: 'struct blkcg_gq' declared inside 
parameter list will not be visible outside of this definition or declaration
    static int bio_associate_blkg(struct bio *bio, struct blkcg_gq *blkg) { 
return 0; }
                                                          ^~~~~~~~
   block/blk-sysfs.c: In function 'queue_wb_lat_show':
>> block/blk-sysfs.c:432:41: error: implicit declaration of function 
>> 'wbt_get_min_lat'; did you mean 'bdi_set_min_ratio'? 
>> [-Werror=implicit-function-declaration]
     return sprintf(page, "%llu\n", div_u64(wbt_get_min_lat(q), 1000));
                                            ^~~~~~~~~~~~~~~
                                            bdi_set_min_ratio
   block/blk-sysfs.c: In function 'queue_wb_lat_store':
>> block/blk-sysfs.c:460:2: error: implicit declaration of function 
>> 'wbt_set_min_lat'; did you mean 'bdi_set_min_ratio'? 
>> [-Werror=implicit-function-declaration]
     wbt_set_min_lat(q, val);
     ^~~~~~~~~~~~~~~
     bdi_set_min_ratio
>> block/blk-sysfs.c:462:20: error: passing argument 1 of 'wbt_update_limits' 
>> from incompatible pointer type [-Werror=incompatible-pointer-types]
     wbt_update_limits(q);
                       ^
   In file included from block/blk-sysfs.c:18:0:
   block/blk-wbt.h:245:20: note: expected 'struct rq_wb *' but argument is of 
type 'struct request_queue *'
    static inline void wbt_update_limits(struct rq_wb *rwb)
                       ^~~~~~~~~~~~~~~~~
   block/blk-sysfs.c: In function 'blk_unregister_queue':
>> block/blk-sysfs.c:936:2: error: implicit declaration of function 
>> 'rq_qos_exit'; did you mean 'rq_qos_id'? 
>> [-Werror=implicit-function-declaration]
     rq_qos_exit(q);
     ^~~~~~~~~~~
     rq_qos_id
   In file included from block/blk-sysfs.c:8:0:
   At top level:
   include/linux/bio.h:521:12: warning: 'bio_associate_blkg' defined but not 
used [-Wunused-function]
    static int bio_associate_blkg(struct bio *bio, struct blkcg_gq *blkg) { 
return 0; }
               ^~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors
--
   In file included from block/blk-settings.c:7:0:
   include/linux/bio.h:521:55: warning: 'struct blkcg_gq' declared inside 
parameter list will not be visible outside of this definition or declaration
    static int bio_associate_blkg(struct bio *bio, struct blkcg_gq *blkg) { 
return 0; }
                                                          ^~~~~~~~
   block/blk-settings.c: In function 'blk_set_queue_depth':
>> block/blk-settings.c:880:22: error: passing argument 1 of 
>> 'wbt_set_queue_depth' from incompatible pointer type 
>> [-Werror=incompatible-pointer-types]
     wbt_set_queue_depth(q, depth);
                         ^
   In file included from block/blk-settings.c:16:0:
   block/blk-wbt.h:260:20: note: expected 'struct rq_wb *' but argument is of 
type 'struct request_queue *'
    static inline void wbt_set_queue_depth(struct rq_wb *rwb, unsigned int 
depth)
                       ^~~~~~~~~~~~~~~~~~~
   block/blk-settings.c: In function 'blk_queue_write_cache':
>> block/blk-settings.c:905:22: error: passing argument 1 of 
>> 'wbt_set_write_cache' from incompatible pointer type 
>> [-Werror=incompatible-pointer-types]
     wbt_set_write_cache(q, test_bit(QUEUE_FLAG_WC, &q->queue_flags));
                         ^
   In file included from block/blk-settings.c:16:0:
   block/blk-wbt.h:263:20: note: expected 'struct rq_wb *' but argument is of 
type 'struct request_queue *'
    static inline void wbt_set_write_cache(struct rq_wb *rwb, bool wc)
                       ^~~~~~~~~~~~~~~~~~~
   In file included from block/blk-settings.c:7:0:
   At top level:
   include/linux/bio.h:521:12: warning: 'bio_associate_blkg' defined but not 
used [-Wunused-function]
    static int bio_associate_blkg(struct bio *bio, struct blkcg_gq *blkg) { 
return 0; }
               ^~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors
--
   In file included from include/linux/blkdev.h:21:0,
                    from include/linux/backing-dev.h:15,
                    from block/blk-mq.c:9:
   include/linux/bio.h:521:55: warning: 'struct blkcg_gq' declared inside 
parameter list will not be visible outside of this definition or declaration
    static int bio_associate_blkg(struct bio *bio, struct blkcg_gq *blkg) { 
return 0; }
                                                          ^~~~~~~~
   block/blk-mq.c: In function 'blk_mq_free_request':
>> block/blk-mq.c:481:2: error: implicit declaration of function 'rq_qos_done'; 
>> did you mean 'rq_qos_add'? [-Werror=implicit-function-declaration]
     rq_qos_done(q, &rq->issue_stat);
     ^~~~~~~~~~~
     rq_qos_add
   block/blk-mq.c: In function 'blk_mq_start_request':
>> block/blk-mq.c:596:3: error: implicit declaration of function 
>> 'rq_qos_issue'; did you mean 'rq_qos_id'? 
>> [-Werror=implicit-function-declaration]
      rq_qos_issue(q, &rq->issue_stat);
      ^~~~~~~~~~~~
      rq_qos_id
   block/blk-mq.c: In function '__blk_mq_requeue_request':
>> block/blk-mq.c:655:2: error: implicit declaration of function 
>> 'rq_qos_requeue'; did you mean 'wbt_requeue'? 
>> [-Werror=implicit-function-declaration]
     rq_qos_requeue(q, &rq->issue_stat);
     ^~~~~~~~~~~~~~
     wbt_requeue
   block/blk-mq.c: In function 'blk_mq_make_request':
>> block/blk-mq.c:1695:12: error: implicit declaration of function 
>> 'rq_qos_throttle' [-Werror=implicit-function-declaration]
     wb_acct = rq_qos_throttle(q, bio, NULL);
               ^~~~~~~~~~~~~~~
>> block/blk-mq.c:1701:3: error: implicit declaration of function 
>> 'rq_qos_cleanup'; did you mean 'rq_qos_add'? 
>> [-Werror=implicit-function-declaration]
      rq_qos_cleanup(q, wb_acct);
      ^~~~~~~~~~~~~~
      rq_qos_add
   In file included from include/linux/blkdev.h:21:0,
                    from include/linux/backing-dev.h:15,
                    from block/blk-mq.c:9:
   At top level:
   include/linux/bio.h:521:12: warning: 'bio_associate_blkg' defined but not 
used [-Wunused-function]
    static int bio_associate_blkg(struct bio *bio, struct blkcg_gq *blkg) { 
return 0; }
               ^~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +1801 block/bio.c

  1759  
  1760  /**
  1761   * bio_endio - end I/O on a bio
  1762   * @bio:        bio
  1763   *
  1764   * Description:
  1765   *   bio_endio() will end I/O on the whole bio. bio_endio() is the 
preferred
  1766   *   way to end I/O on a bio. No one should call bi_end_io() directly 
on a
  1767   *   bio unless they own it and thus know that it has an end_io 
function.
  1768   *
  1769   *   bio_endio() can be called several times on a bio that has been 
chained
  1770   *   using bio_chain().  The ->bi_end_io() function will only be called 
the
  1771   *   last time.  At this point the BLK_TA_COMPLETE tracing event will be
  1772   *   generated if BIO_TRACE_COMPLETION is set.
  1773   **/
  1774  void bio_endio(struct bio *bio)
  1775  {
  1776  again:
  1777          if (!bio_remaining_done(bio))
  1778                  return;
  1779          if (!bio_integrity_endio(bio))
  1780                  return;
  1781  
  1782          /*
  1783           * Need to have a real endio function for chained bios, 
otherwise
  1784           * various corner cases will break (like stacking block devices 
that
  1785           * save/restore bi_end_io) - however, we want to avoid unbounded
  1786           * recursion and blowing the stack. Tail call optimization would
  1787           * handle this, but compiling with frame pointers also disables
  1788           * gcc's sibling call optimization.
  1789           */
  1790          if (bio->bi_end_io == bio_chain_endio) {
  1791                  bio = __bio_chain_endio(bio);
  1792                  goto again;
  1793          }
  1794  
  1795          if (bio->bi_disk && bio_flagged(bio, BIO_TRACE_COMPLETION)) {
  1796                  trace_block_bio_complete(bio->bi_disk->queue, bio,
  1797                                           
blk_status_to_errno(bio->bi_status));
  1798                  bio_clear_flag(bio, BIO_TRACE_COMPLETION);
  1799          }
  1800  
> 1801          rq_qos_done_bio(bio->bi_disk->queue, bio);
  1802          blk_throtl_bio_endio(bio);
  1803          /* release cgroup info */
  1804          bio_uninit(bio);
  1805          if (bio->bi_end_io)
  1806                  bio->bi_end_io(bio);
  1807  }
  1808  EXPORT_SYMBOL(bio_endio);
  1809  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to