From: kernel test robot <lkp@intel.com>
To: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com>
Cc: oe-kbuild-all@lists.linux.dev
Subject: [riteshharjani:ext2_dir_buffer_cache_rfc_wip1 15/15] fs/ext2/dir.c:440:26: warning: no previous declaration for 'ext2_find_entry_old'
Date: Thu, 28 Sep 2023 04:06:03 +0800 [thread overview]
Message-ID: <202309280449.KISthPfu-lkp@intel.com> (raw)
tree: https://github.com/riteshharjani/linux ext2_dir_buffer_cache_rfc_wip1
head: 3b878bc4805dd97f67ee17c6450059a4a7f2b261
commit: 3b878bc4805dd97f67ee17c6450059a4a7f2b261 [15/15] ext2: everything else to make it work
config: i386-randconfig-141-20230927 (https://download.01.org/0day-ci/archive/20230928/202309280449.KISthPfu-lkp@intel.com/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230928/202309280449.KISthPfu-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309280449.KISthPfu-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> fs/ext2/dir.c:440:26: warning: no previous declaration for 'ext2_find_entry_old' [-Wmissing-declarations]
struct ext2_dir_entry_2 *ext2_find_entry_old (struct inode *dir,
^~~~~~~~~~~~~~~~~~~
fs/ext2/dir.c: In function 'ext2_delete_entry':
fs/ext2/dir.c:818:15: warning: unused variable 'chunksize' [-Wunused-variable]
unsigned int chunksize = ext2_chunk_size(dir);
^~~~~~~~~
At top level:
fs/ext2/dir.c:555:12: warning: 'ext2_handle_dirsync' defined but not used [-Wunused-function]
static int ext2_handle_dirsync(struct inode *dir)
^~~~~~~~~~~~~~~~~~~
fs/ext2/dir.c:549:12: warning: 'ext2_prepare_chunk' defined but not used [-Wunused-function]
static int ext2_prepare_chunk(struct page *page, loff_t pos, unsigned len)
^~~~~~~~~~~~~~~~~~
fs/ext2/dir.c:84:13: warning: 'ext2_commit_chunk' defined but not used [-Wunused-function]
static void ext2_commit_chunk(struct page *page, loff_t pos, unsigned len)
^~~~~~~~~~~~~~~~~
vim +/ext2_find_entry_old +440 fs/ext2/dir.c
423
424 /*
425 * ext2_find_entry()
426 *
427 * finds an entry in the specified directory with the wanted name. It
428 * returns the page in which the entry was found (as a parameter - res_page),
429 * and the entry itself. Page is returned mapped and unlocked.
430 * Entry is guaranteed to be valid.
431 *
432 * On Success ext2_put_page() should be called on *res_page.
433 *
434 * NOTE: Calls to ext2_get_page()/ext2_put_page() must be nested according to
435 * the rules documented in kmap_local_page()/kunmap_local().
436 *
437 * ext2_find_entry() and ext2_dotdot() act as a call to ext2_get_page() and
438 * should be treated as a call to ext2_get_page() for nesting purposes.
439 */
> 440 struct ext2_dir_entry_2 *ext2_find_entry_old (struct inode *dir,
441 const struct qstr *child, struct page **res_page)
442 {
443 const char *name = child->name;
444 int namelen = child->len;
445 unsigned reclen = EXT2_DIR_REC_LEN(namelen);
446 unsigned long start, n;
447 unsigned long npages = dir_pages(dir);
448 struct page *page = NULL;
449 struct ext2_inode_info *ei = EXT2_I(dir);
450 ext2_dirent * de;
451
452 if (npages == 0)
453 goto out;
454
455 /* OFFSET_CACHE */
456 *res_page = NULL;
457
458 start = ei->i_dir_start_lookup;
459 if (start >= npages)
460 start = 0;
461 n = start;
462 do {
463 char *kaddr = ext2_get_page(dir, n, 0, &page);
464 if (IS_ERR(kaddr))
465 return ERR_CAST(kaddr);
466
467 de = (ext2_dirent *) kaddr;
468 kaddr += ext2_last_byte(dir, n) - reclen;
469 while ((char *) de <= kaddr) {
470 if (de->rec_len == 0) {
471 ext2_error(dir->i_sb, __func__,
472 "zero-length directory entry");
473 ext2_put_page(page, de);
474 goto out;
475 }
476 if (ext2_match(namelen, name, de))
477 goto found;
478 de = ext2_next_entry(de);
479 }
480 ext2_put_page(page, kaddr);
481
482 if (++n >= npages)
483 n = 0;
484 /* next page is past the blocks we've got */
485 if (unlikely(n > (dir->i_blocks >> (PAGE_SHIFT - 9)))) {
486 ext2_error(dir->i_sb, __func__,
487 "dir %lu size %lld exceeds block count %llu",
488 dir->i_ino, dir->i_size,
489 (unsigned long long)dir->i_blocks);
490 goto out;
491 }
492 } while (n != start);
493 out:
494 return ERR_PTR(-ENOENT);
495
496 found:
497 *res_page = page;
498 ei->i_dir_start_lookup = n;
499 return de;
500 }
501
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2023-09-27 20:06 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202309280449.KISthPfu-lkp@intel.com \
--to=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=ritesh.list@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.