Re: [linux-next:pending-fixes 207/319] fs/btrfs/qgroup.c:2014:6: error: use of undeclared identifier 'bytenr'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 9, 2024 at 3:55 AM kernel test robot <lkp@xxxxxxxxx> wrote:
>
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git pending-fixes
> head:   47fa0de9b07c6214b57458e965646a3e25656b69
> commit: 5c0ea18d992fffc948e087c0002560d747e6edd9 [207/319] btrfs: use sector numbers as keys for the dirty extents xarray
> config: arm-randconfig-002-20241009 (https://download.01.org/0day-ci/archive/20241009/202410091038.SI34ZULQ-lkp@xxxxxxxxx/config)
> compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241009/202410091038.SI34ZULQ-lkp@xxxxxxxxx/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@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202410091038.SI34ZULQ-lkp@xxxxxxxxx/
>
> All errors (new ones prefixed by >>):
>
> >> fs/btrfs/qgroup.c:2014:6: error: use of undeclared identifier 'bytenr'
>            if (bytenr >= MAX_LFS_FILESIZE) {

Ah this should be record->bytenr.
The issue is actually fixed in a later patch of the same patchset,
where bytenr is a function argument.

I can update the patch but then it will require updating the patches
that come next from the same patchset and rebasing the for-next
branch.
And I see it's already in the next-fixes branch.

David, how do you prefer to proceed here? Do you want me to fix this
and resend the patchset?

Thanks.


>                ^
>    fs/btrfs/qgroup.c:2017:9: error: use of undeclared identifier 'bytenr'
>                                 bytenr);
>                                 ^
>    2 errors generated.
>
>
> vim +/bytenr +2014 fs/btrfs/qgroup.c
>
>   1991
>   1992  /*
>   1993   * Inform qgroup to trace one dirty extent, its info is recorded in @record.
>   1994   * So qgroup can account it at transaction committing time.
>   1995   *
>   1996   * No lock version, caller must acquire delayed ref lock and allocated memory,
>   1997   * then call btrfs_qgroup_trace_extent_post() after exiting lock context.
>   1998   *
>   1999   * Return 0 for success insert
>   2000   * Return >0 for existing record, caller can free @record safely.
>   2001   * Return <0 for insertion failure, caller can free @record safely.
>   2002   */
>   2003  int btrfs_qgroup_trace_extent_nolock(struct btrfs_fs_info *fs_info,
>   2004                                  struct btrfs_delayed_ref_root *delayed_refs,
>   2005                                  struct btrfs_qgroup_extent_record *record)
>   2006  {
>   2007          struct btrfs_qgroup_extent_record *existing, *ret;
>   2008          const unsigned long index = (record->bytenr >> fs_info->sectorsize_bits);
>   2009
>   2010          if (!btrfs_qgroup_full_accounting(fs_info))
>   2011                  return 1;
>   2012
>   2013  #if BITS_PER_LONG == 32
> > 2014          if (bytenr >= MAX_LFS_FILESIZE) {
>   2015                  btrfs_err_rl(fs_info,
>   2016  "qgroup record for extent at %llu is beyond 32bit page cache and xarray index limit",
>   2017                               bytenr);
>   2018                  btrfs_err_32bit_limit(fs_info);
>   2019                  return -EOVERFLOW;
>   2020          }
>   2021  #endif
>   2022
>   2023          lockdep_assert_held(&delayed_refs->lock);
>   2024          trace_btrfs_qgroup_trace_extent(fs_info, record);
>   2025
>   2026          xa_lock(&delayed_refs->dirty_extents);
>   2027          existing = xa_load(&delayed_refs->dirty_extents, index);
>   2028          if (existing) {
>   2029                  if (record->data_rsv && !existing->data_rsv) {
>   2030                          existing->data_rsv = record->data_rsv;
>   2031                          existing->data_rsv_refroot = record->data_rsv_refroot;
>   2032                  }
>   2033                  xa_unlock(&delayed_refs->dirty_extents);
>   2034                  return 1;
>   2035          }
>   2036
>   2037          ret = __xa_store(&delayed_refs->dirty_extents, index, record, GFP_ATOMIC);
>   2038          xa_unlock(&delayed_refs->dirty_extents);
>   2039          if (xa_is_err(ret)) {
>   2040                  qgroup_mark_inconsistent(fs_info);
>   2041                  return xa_err(ret);
>   2042          }
>   2043
>   2044          return 0;
>   2045  }
>   2046
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux