From: Xiubo Li <xiubli@redhat.com>
To: kernel test robot <lkp@intel.com>, Jeff Layton <jlayton@kernel.org>
Cc: kbuild-all@lists.01.org, ceph-devel@vger.kernel.org,
Ilya Dryomov <idryomov@gmail.com>
Subject: Re: [ceph-client:testing 14/39] net/ceph/messenger.c:988:15: error: implicit declaration of function 'iov_iter_get_pages'; did you mean 'iov_iter_get_pages2'?
Date: Tue, 16 Aug 2022 10:32:34 +0800 [thread overview]
Message-ID: <4e8bfcdd-d502-464d-e261-e7844c04e941@redhat.com> (raw)
In-Reply-To: <202208160842.GUNdBYbK-lkp@intel.com>
On 8/16/22 8:35 AM, kernel test robot wrote:
> tree: https://github.com/ceph/ceph-client.git testing
> head: bc940dc5cc27be90472e00ddf510b28b29ffd6ce
> commit: a5cb140194256429d5ce74439e8165390d9380a6 [14/39] libceph: add new iov_iter-based ceph_msg_data_type and ceph_osd_data_type
> config: x86_64-rhel-8.3-kselftests (https://download.01.org/0day-ci/archive/20220816/202208160842.GUNdBYbK-lkp@intel.com/config)
> compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
> reproduce (this is a W=1 build):
> # https://github.com/ceph/ceph-client/commit/a5cb140194256429d5ce74439e8165390d9380a6
> git remote add ceph-client https://github.com/ceph/ceph-client.git
> git fetch --no-tags ceph-client testing
> git checkout a5cb140194256429d5ce74439e8165390d9380a6
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash net/ceph/
>
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> net/ceph/messenger.c: In function 'ceph_msg_data_iter_next':
>>> net/ceph/messenger.c:988:15: error: implicit declaration of function 'iov_iter_get_pages'; did you mean 'iov_iter_get_pages2'? [-Werror=implicit-function-declaration]
> 988 | len = iov_iter_get_pages(&cursor->iov_iter, &page, PAGE_SIZE,
> | ^~~~~~~~~~~~~~~~~~
> | iov_iter_get_pages2
> cc1: some warnings being treated as errors
>
Thanks for reporting this.
Al has changed it to auto-advance iterator, the following patch should
fix it:
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
index 945f6d1a9efa..020474cf137c 100644
--- a/net/ceph/messenger.c
+++ b/net/ceph/messenger.c
@@ -985,25 +985,12 @@ static struct page *ceph_msg_data_iter_next(struct
ceph_msg_data_cursor *cursor,
if (cursor->lastlen)
iov_iter_revert(&cursor->iov_iter, cursor->lastlen);
- len = iov_iter_get_pages(&cursor->iov_iter, &page, PAGE_SIZE,
- 1, page_offset);
+ len = iov_iter_get_pages2(&cursor->iov_iter, &page, PAGE_SIZE,
+ 1, page_offset);
BUG_ON(len < 0);
cursor->lastlen = len;
- /*
- * FIXME: Al Viro says that he will soon change iov_iter_get_pages
- * to auto-advance the iterator. Emulate that here for now.
- */
- iov_iter_advance(&cursor->iov_iter, len);
-
- /*
- * FIXME: The assumption is that the pages represented by the
iov_iter
- * are pinned, with the references held by the upper-level
- * callers, or by virtue of being under writeback.
Eventually,
- * we'll get an iov_iter_get_pages variant that doesn't
take page
- * refs. Until then, just put the page ref.
- */
VM_BUG_ON_PAGE(!PageWriteback(page) && page_count(page) < 2, page);
put_page(page);
-- Xiubo
> vim +988 net/ceph/messenger.c
>
> 977
> 978 static struct page *ceph_msg_data_iter_next(struct ceph_msg_data_cursor *cursor,
> 979 size_t *page_offset,
> 980 size_t *length)
> 981 {
> 982 struct page *page;
> 983 ssize_t len;
> 984
> 985 if (cursor->lastlen)
> 986 iov_iter_revert(&cursor->iov_iter, cursor->lastlen);
> 987
> > 988 len = iov_iter_get_pages(&cursor->iov_iter, &page, PAGE_SIZE,
> 989 1, page_offset);
> 990 BUG_ON(len < 0);
> 991
> 992 cursor->lastlen = len;
> 993
> 994 /*
> 995 * FIXME: Al Viro says that he will soon change iov_iter_get_pages
> 996 * to auto-advance the iterator. Emulate that here for now.
> 997 */
> 998 iov_iter_advance(&cursor->iov_iter, len);
> 999
> 1000 /*
> 1001 * FIXME: The assumption is that the pages represented by the iov_iter
> 1002 * are pinned, with the references held by the upper-level
> 1003 * callers, or by virtue of being under writeback. Eventually,
> 1004 * we'll get an iov_iter_get_pages variant that doesn't take page
> 1005 * refs. Until then, just put the page ref.
> 1006 */
> 1007 VM_BUG_ON_PAGE(!PageWriteback(page) && page_count(page) < 2, page);
> 1008 put_page(page);
> 1009
> 1010 *length = min_t(size_t, len, cursor->resid);
> 1011 return page;
> 1012 }
> 1013
>
prev parent reply other threads:[~2022-08-16 7:05 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-16 0:35 [ceph-client:testing 14/39] net/ceph/messenger.c:988:15: error: implicit declaration of function 'iov_iter_get_pages'; did you mean 'iov_iter_get_pages2'? kernel test robot
2022-08-16 2:32 ` Xiubo Li [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4e8bfcdd-d502-464d-e261-e7844c04e941@redhat.com \
--to=xiubli@redhat.com \
--cc=ceph-devel@vger.kernel.org \
--cc=idryomov@gmail.com \
--cc=jlayton@kernel.org \
--cc=kbuild-all@lists.01.org \
--cc=lkp@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox