Hi Stefan, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on f1baf68e1383f6ed93eb9cff2866d46562607a43] url: https://github.com/0day-ci/linux/commits/Stefan-Roesch/Support-sync-buffered-writes-for-io-uring/20220215-014908 base: f1baf68e1383f6ed93eb9cff2866d46562607a43 config: arm-s5pv210_defconfig (https://download.01.org/0day-ci/archive/20220215/202202150743.R5ymlf5z-lkp@xxxxxxxxx/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project ea071884b0cc7210b3cc5fe858f0e892a779a23b) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://github.com/0day-ci/linux/commit/e8b24c1ab111c127cbe1daaac3b607c626fb03a8 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Stefan-Roesch/Support-sync-buffered-writes-for-io-uring/20220215-014908 git checkout e8b24c1ab111c127cbe1daaac3b607c626fb03a8 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): >> fs/buffer.c:805:21: warning: no previous prototype for function '__alloc_page_buffers' [-Wmissing-prototypes] struct buffer_head *__alloc_page_buffers(struct page *page, unsigned long size, ^ fs/buffer.c:805:1: note: declare 'static' if the function is not intended to be used outside of this translation unit struct buffer_head *__alloc_page_buffers(struct page *page, unsigned long size, ^ static 1 warning generated. vim +/__alloc_page_buffers +805 fs/buffer.c 804 > 805 struct buffer_head *__alloc_page_buffers(struct page *page, unsigned long size, 806 gfp_t gfp) 807 { 808 struct buffer_head *bh, *head; 809 long offset; 810 struct mem_cgroup *memcg, *old_memcg; 811 812 /* The page lock pins the memcg */ 813 memcg = page_memcg(page); 814 old_memcg = set_active_memcg(memcg); 815 816 head = NULL; 817 offset = PAGE_SIZE; 818 while ((offset -= size) >= 0) { 819 bh = alloc_buffer_head(gfp); 820 if (!bh) 821 goto no_grow; 822 823 bh->b_this_page = head; 824 bh->b_blocknr = -1; 825 head = bh; 826 827 bh->b_size = size; 828 829 /* Link the buffer to its page */ 830 set_bh_page(bh, page, offset); 831 } 832 out: 833 set_active_memcg(old_memcg); 834 return head; 835 /* 836 * In case anything failed, we just free everything we got. 837 */ 838 no_grow: 839 if (head) { 840 do { 841 bh = head; 842 head = head->b_this_page; 843 free_buffer_head(bh); 844 } while (head); 845 } 846 847 goto out; 848 } 849 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx