Re: [PATCH] btrfs: make ASSERT no-op in release builds

From: Nathan Chancellor

Date: Fri Oct 31 2025 - 16:37:51 EST


On Fri, Oct 31, 2025 at 08:18:50PM +0800, kernel test robot wrote:
> Hi Gladyshev,
>
> kernel test robot noticed the following build warnings:
>
> [auto build test WARNING on e53642b87a4f4b03a8d7e5f8507fc3cd0c595ea6]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Gladyshev-Ilya/btrfs-make-ASSERT-no-op-in-release-builds/20251031-024059
> base: e53642b87a4f4b03a8d7e5f8507fc3cd0c595ea6
> patch link: https://lore.kernel.org/r/20251030182322.4085697-1-foxido%40foxido.dev
> patch subject: [PATCH] btrfs: make ASSERT no-op in release builds
> config: x86_64-kexec (https://download.01.org/0day-ci/archive/20251031/202510311956.w2iYoQcn-lkp@xxxxxxxxx/config)
> compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251031/202510311956.w2iYoQcn-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/202510311956.w2iYoQcn-lkp@xxxxxxxxx/
>
> All warnings (new ones prefixed by >>):
>
> >> fs/btrfs/raid56.c:302:13: warning: function 'full_page_sectors_uptodate' is not needed and will not be emitted [-Wunneeded-internal-declaration]
> 302 | static bool full_page_sectors_uptodate(struct btrfs_raid_bio *rbio,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> 1 warning generated.

Just in case it is not obvious: full_page_sectors_uptodate() is only
called within an ASSERT() macro, so after this change, it is only
referenced within sizeof(), so it won't be emitted in .text (which may
be a bug). Presumably that is expected in this case, so I would
recommend marking this as __maybe_unused to avoid the warning.

Cheers,
Nathan