2021-11-05 14:03:50

by kernel test robot

[permalink] [raw]
Subject: [axboe-block:for-5.16/block 189/189] block/fops.c:530:23: error: implicit declaration of function 'bdev_nr_bytes'

tree: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-5.16/block
head: d4e76b1ad0065477119b544fd93c2f03550ef548
commit: d4e76b1ad0065477119b544fd93c2f03550ef548 [189/189] block: use new bdev_nr_bytes() helper for blkdev_{read,write}_iter()
config: ia64-defconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/commit/?id=d4e76b1ad0065477119b544fd93c2f03550ef548
git remote add axboe-block https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
git fetch --no-tags axboe-block for-5.16/block
git checkout d4e76b1ad0065477119b544fd93c2f03550ef548
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=ia64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>

All errors (new ones prefixed by >>):

block/fops.c: In function 'blkdev_write_iter':
>> block/fops.c:530:23: error: implicit declaration of function 'bdev_nr_bytes' [-Werror=implicit-function-declaration]
530 | loff_t size = bdev_nr_bytes(bdev);
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors


vim +/bdev_nr_bytes +530 block/fops.c

518
519 /*
520 * Write data to the block device. Only intended for the block device itself
521 * and the raw driver which basically is a fake block device.
522 *
523 * Does not take i_mutex for the write and thus is not for general purpose
524 * use.
525 */
526 static ssize_t blkdev_write_iter(struct kiocb *iocb, struct iov_iter *from)
527 {
528 struct block_device *bdev = iocb->ki_filp->private_data;
529 struct inode *bd_inode = bdev->bd_inode;
> 530 loff_t size = bdev_nr_bytes(bdev);
531 struct blk_plug plug;
532 size_t shorted = 0;
533 ssize_t ret;
534
535 if (bdev_read_only(bdev))
536 return -EPERM;
537
538 if (IS_SWAPFILE(bd_inode) && !is_hibernate_resume_dev(bd_inode->i_rdev))
539 return -ETXTBSY;
540
541 if (!iov_iter_count(from))
542 return 0;
543
544 if (iocb->ki_pos >= size)
545 return -ENOSPC;
546
547 if ((iocb->ki_flags & (IOCB_NOWAIT | IOCB_DIRECT)) == IOCB_NOWAIT)
548 return -EOPNOTSUPP;
549
550 size -= iocb->ki_pos;
551 if (iov_iter_count(from) > size) {
552 shorted = iov_iter_count(from) - size;
553 iov_iter_truncate(from, size);
554 }
555
556 blk_start_plug(&plug);
557 ret = __generic_file_write_iter(iocb, from);
558 if (ret > 0)
559 ret = generic_write_sync(iocb, ret);
560 iov_iter_reexpand(from, iov_iter_count(from) + shorted);
561 blk_finish_plug(&plug);
562 return ret;
563 }
564

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]


Attachments:
(No filename) (3.16 kB)
.config.gz (19.49 kB)
Download all attachments

2021-11-05 14:35:20

by Jens Axboe

[permalink] [raw]
Subject: Re: [axboe-block:for-5.16/block 189/189] block/fops.c:530:23: error: implicit declaration of function 'bdev_nr_bytes'

On 11/5/21 8:01 AM, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-5.16/block
> head: d4e76b1ad0065477119b544fd93c2f03550ef548
> commit: d4e76b1ad0065477119b544fd93c2f03550ef548 [189/189] block: use new bdev_nr_bytes() helper for blkdev_{read,write}_iter()
> config: ia64-defconfig (attached as .config)
> compiler: ia64-linux-gcc (GCC) 11.2.0
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/commit/?id=d4e76b1ad0065477119b544fd93c2f03550ef548
> git remote add axboe-block https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
> git fetch --no-tags axboe-block for-5.16/block
> git checkout d4e76b1ad0065477119b544fd93c2f03550ef548
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=ia64
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <[email protected]>
>
> All errors (new ones prefixed by >>):
>
> block/fops.c: In function 'blkdev_write_iter':
>>> block/fops.c:530:23: error: implicit declaration of function 'bdev_nr_bytes' [-Werror=implicit-function-declaration]
> 530 | loff_t size = bdev_nr_bytes(bdev);
> | ^~~~~~~~~~~~~
> cc1: some warnings being treated as errors

Doh, applied it to the wrong branch. Moved it now, should be fine in the
current state.

--
Jens Axboe