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