Hi Haifeng, kernel test robot noticed the following build errors: [auto build test ERROR on brauner-vfs/vfs.all] [also build test ERROR on linus/master v6.11-rc5 next-20240829] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Haifeng-Xu/buffer-Associate-the-meta-bio-with-blkg-from-buffer-page/20240828-113409 base: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git vfs.all patch link: https://lore.kernel.org/r/20240828033224.146584-1-haifeng.xu%40shopee.com patch subject: [PATCH] buffer: Associate the meta bio with blkg from buffer page config: alpha-defconfig (https://download.01.org/0day-ci/archive/20240830/202408300007.m9sHEOXo-lkp@xxxxxxxxx/config) compiler: alpha-linux-gcc (GCC) 13.3.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240830/202408300007.m9sHEOXo-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/202408300007.m9sHEOXo-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): fs/buffer.c: In function 'submit_bh_wbc': fs/buffer.c:2826:29: error: implicit declaration of function 'mem_cgroup_css_from_folio'; did you mean 'mem_cgroup_from_obj'? [-Werror=implicit-function-declaration] 2826 | memcg_css = mem_cgroup_css_from_folio(folio); | ^~~~~~~~~~~~~~~~~~~~~~~~~ | mem_cgroup_from_obj fs/buffer.c:2826:27: warning: assignment to 'struct cgroup_subsys_state *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2826 | memcg_css = mem_cgroup_css_from_folio(folio); | ^ >> fs/buffer.c:2827:21: error: implicit declaration of function 'cgroup_subsys_on_dfl' [-Werror=implicit-function-declaration] 2827 | if (cgroup_subsys_on_dfl(memory_cgrp_subsys) && | ^~~~~~~~~~~~~~~~~~~~ >> fs/buffer.c:2827:42: error: 'memory_cgrp_subsys' undeclared (first use in this function) 2827 | if (cgroup_subsys_on_dfl(memory_cgrp_subsys) && | ^~~~~~~~~~~~~~~~~~ fs/buffer.c:2827:42: note: each undeclared identifier is reported only once for each function it appears in fs/buffer.c:2828:42: error: 'io_cgrp_subsys' undeclared (first use in this function) 2828 | cgroup_subsys_on_dfl(io_cgrp_subsys)) { | ^~~~~~~~~~~~~~ >> fs/buffer.c:2829:37: error: implicit declaration of function 'cgroup_e_css'; did you mean 'cgroup_exit'? [-Werror=implicit-function-declaration] 2829 | blkcg_css = cgroup_e_css(memcg_css->cgroup, &io_cgrp_subsys); | ^~~~~~~~~~~~ | cgroup_exit >> fs/buffer.c:2829:59: error: invalid use of undefined type 'struct cgroup_subsys_state' 2829 | blkcg_css = cgroup_e_css(memcg_css->cgroup, &io_cgrp_subsys); | ^~ cc1: some warnings being treated as errors vim +/cgroup_subsys_on_dfl +2827 fs/buffer.c 2778 2779 static void submit_bh_wbc(blk_opf_t opf, struct buffer_head *bh, 2780 enum rw_hint write_hint, 2781 struct writeback_control *wbc) 2782 { 2783 const enum req_op op = opf & REQ_OP_MASK; 2784 struct bio *bio; 2785 2786 BUG_ON(!buffer_locked(bh)); 2787 BUG_ON(!buffer_mapped(bh)); 2788 BUG_ON(!bh->b_end_io); 2789 BUG_ON(buffer_delay(bh)); 2790 BUG_ON(buffer_unwritten(bh)); 2791 2792 /* 2793 * Only clear out a write error when rewriting 2794 */ 2795 if (test_set_buffer_req(bh) && (op == REQ_OP_WRITE)) 2796 clear_buffer_write_io_error(bh); 2797 2798 if (buffer_meta(bh)) 2799 opf |= REQ_META; 2800 if (buffer_prio(bh)) 2801 opf |= REQ_PRIO; 2802 2803 bio = bio_alloc(bh->b_bdev, 1, opf, GFP_NOIO); 2804 2805 fscrypt_set_bio_crypt_ctx_bh(bio, bh, GFP_NOIO); 2806 2807 bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9); 2808 bio->bi_write_hint = write_hint; 2809 2810 __bio_add_page(bio, bh->b_page, bh->b_size, bh_offset(bh)); 2811 2812 bio->bi_end_io = end_bio_bh_io_sync; 2813 bio->bi_private = bh; 2814 2815 /* Take care of bh's that straddle the end of the device */ 2816 guard_bio_eod(bio); 2817 2818 if (wbc) { 2819 wbc_init_bio(wbc, bio); 2820 wbc_account_cgroup_owner(wbc, bh->b_page, bh->b_size); 2821 } else if (buffer_meta(bh)) { 2822 struct folio *folio; 2823 struct cgroup_subsys_state *memcg_css, *blkcg_css; 2824 2825 folio = page_folio(bh->b_page); 2826 memcg_css = mem_cgroup_css_from_folio(folio); > 2827 if (cgroup_subsys_on_dfl(memory_cgrp_subsys) && 2828 cgroup_subsys_on_dfl(io_cgrp_subsys)) { > 2829 blkcg_css = cgroup_e_css(memcg_css->cgroup, &io_cgrp_subsys); 2830 bio_associate_blkg_from_css(bio, blkcg_css); 2831 } 2832 } 2833 2834 submit_bio(bio); 2835 } 2836 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki