tree: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git defrag-freespace head: 326d55bb2cd6af6a03ca05d6fb4cc6383132ad8c commit: 028c5ae42fb7471df7ce18d583b454b55a786936 [364/365] xfs: fallocate free space into a file config: x86_64-randconfig-a001-20210825 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project ea08c4cd1c0869ec5024a8bb3f5cdf06ab03ae83) 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 # https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git/commit/?id=028c5ae42fb7471df7ce18d583b454b55a786936 git remote add djwong-xfs https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git git fetch --no-tags djwong-xfs defrag-freespace git checkout 028c5ae42fb7471df7ce18d583b454b55a786936 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): In file included from fs/xfs/xfs_trace.c:38: >> fs/xfs/xfs_rtalloc.h:165:5: warning: no previous prototype for function 'xfs_rtallocate_extent' [-Wmissing-prototypes] int xfs_rtallocate_extent(struct xfs_trans *tp, xfs_rtblock_t bno, ^ fs/xfs/xfs_rtalloc.h:165:1: note: declare 'static' if the function is not intended to be used outside of this translation unit int xfs_rtallocate_extent(struct xfs_trans *tp, xfs_rtblock_t bno, ^ static 1 warning generated. vim +/xfs_rtallocate_extent +165 fs/xfs/xfs_rtalloc.h 86 87 /* 88 * Pick an extent for allocation at the start of a new realtime file. 89 * Use the sequence number stored in the atime field of the bitmap inode. 90 * Translate this to a fraction of the rtextents, and return the product 91 * of rtextents and the fraction. 92 * The fraction sequence is 0, 1/2, 1/4, 3/4, 1/8, ..., 7/8, 1/16, ... 93 */ 94 int /* error */ 95 xfs_rtpick_extent( 96 struct xfs_mount *mp, /* file system mount point */ 97 struct xfs_trans *tp, /* transaction pointer */ 98 xfs_extlen_t len, /* allocation length (rtextents) */ 99 xfs_rtblock_t *pick); /* result rt extent */ 100 101 int xfs_growfs_check_rt_maxlevels(struct xfs_mount *mp, xfs_rfsblock_t dblocks, 102 xfs_rfsblock_t rblocks); 103 104 /* 105 * Grow the realtime area of the filesystem. 106 */ 107 int 108 xfs_growfs_rt( 109 struct xfs_mount *mp, /* file system mount structure */ 110 xfs_growfs_rt_t *in); /* user supplied growfs struct */ 111 112 /* 113 * From xfs_rtbitmap.c 114 */ 115 int xfs_rtbuf_get(struct xfs_mount *mp, struct xfs_trans *tp, 116 xfs_rtblock_t block, int issum, struct xfs_buf **bpp); 117 int xfs_rtcheck_range(struct xfs_mount *mp, struct xfs_trans *tp, 118 xfs_rtblock_t start, xfs_extlen_t len, int val, 119 xfs_rtblock_t *new, int *stat); 120 int xfs_rtfind_back(struct xfs_mount *mp, struct xfs_trans *tp, 121 xfs_rtblock_t start, xfs_rtblock_t limit, 122 xfs_rtblock_t *rtblock); 123 int xfs_rtfind_forw(struct xfs_mount *mp, struct xfs_trans *tp, 124 xfs_rtblock_t start, xfs_rtblock_t limit, 125 xfs_rtblock_t *rtblock); 126 int xfs_rtmodify_range(struct xfs_mount *mp, struct xfs_trans *tp, 127 xfs_rtblock_t start, xfs_extlen_t len, int val); 128 int xfs_rtmodify_summary_int(struct xfs_mount *mp, struct xfs_trans *tp, 129 int log, xfs_rtblock_t bbno, int delta, 130 struct xfs_buf **rbpp, xfs_fsblock_t *rsb, 131 xfs_suminfo_t *sum); 132 int xfs_rtmodify_summary(struct xfs_mount *mp, struct xfs_trans *tp, int log, 133 xfs_rtblock_t bbno, int delta, struct xfs_buf **rbpp, 134 xfs_fsblock_t *rsb); 135 int xfs_rtfree_range(struct xfs_mount *mp, struct xfs_trans *tp, 136 xfs_rtblock_t start, xfs_extlen_t len, 137 struct xfs_buf **rbpp, xfs_fsblock_t *rsb); 138 int xfs_rtalloc_query_range(struct xfs_trans *tp, 139 const struct xfs_rtalloc_rec *low_rec, 140 const struct xfs_rtalloc_rec *high_rec, 141 xfs_rtalloc_query_range_fn fn, void *priv); 142 int xfs_rtalloc_query_all(struct xfs_trans *tp, 143 xfs_rtalloc_query_range_fn fn, 144 void *priv); 145 bool xfs_verify_rtbno(struct xfs_mount *mp, xfs_rtblock_t rtbno); 146 int xfs_rtalloc_extent_is_free(struct xfs_mount *mp, struct xfs_trans *tp, 147 xfs_rtblock_t start, xfs_extlen_t len, 148 bool *is_free); 149 int xfs_rtfile_convert_unwritten(struct xfs_inode *ip, loff_t pos, 150 uint64_t len); 151 152 #define XFS_RTLOCK_ALLOC (1 << 0) /* rt allocation */ 153 #define XFS_RTLOCK_RMAP (1 << 1) /* rmap operations */ 154 #define XFS_RTLOCK_REFCOUNT (1 << 2) /* refcount operations */ 155 #define XFS_RTLOCK_ALL (XFS_RTLOCK_ALLOC | \ 156 XFS_RTLOCK_RMAP | \ 157 XFS_RTLOCK_REFCOUNT) 158 159 void xfs_rtlock(struct xfs_trans *tp, struct xfs_mount *mp, 160 unsigned int rtlock_flags); 161 void xfs_rtunlock(struct xfs_mount *mp, unsigned int lock_flags); 162 int xfs_rtalloc_find_freesp(struct xfs_mount *mp, xfs_rtblock_t *rtx, 163 xfs_rtblock_t end_rtx, xfs_extlen_t *len_rtx); 164 #else > 165 int xfs_rtallocate_extent(struct xfs_trans *tp, xfs_rtblock_t bno, 166 xfs_extlen_t minlen, xfs_extlen_t maxlen, xfs_extlen_t *len, 167 int wasdel, xfs_extlen_t prod, xfs_rtblock_t *rtblock) 168 { 169 return ENOSYS; 170 } 171 # define xfs_rtfree_extent(t,b,l) (ENOSYS) 172 # define xfs_rtfree_blocks(t,rb,rl) (ENOSYS) 173 # define xfs_rtpick_extent(m,t,l,rb) (ENOSYS) 174 # define xfs_growfs_check_rt_maxlevels(m,d,r) (0) 175 # define xfs_growfs_rt(mp,in) (ENOSYS) 176 # define xfs_rtalloc_query_range(t,l,h,f,p) (ENOSYS) 177 # define xfs_rtalloc_query_all(t,f,p) (ENOSYS) 178 # define xfs_rtbuf_get(m,t,b,i,p) (ENOSYS) 179 # define xfs_verify_rtbno(m, r) (false) 180 # define xfs_rtalloc_extent_is_free(m,t,s,l,i) (ENOSYS) 181 static inline int /* error */ 182 xfs_rtmount_init( 183 xfs_mount_t *mp) /* file system mount structure */ 184 { 185 if (mp->m_sb.sb_rblocks == 0) 186 return 0; 187 188 xfs_warn(mp, "Not built with CONFIG_XFS_RT"); 189 return -ENOSYS; 190 } 191 # define xfs_rt_resv_free(mp) ((void)0) 192 # define xfs_rt_resv_init(mp) (0) 193 # define xfs_rtmount_inodes(m) (((mp)->m_sb.sb_rblocks == 0)? 0 : (ENOSYS)) 194 # define xfs_rtmount_dqattach(mp) (0) 195 # define xfs_rtunmount_inodes(m) 196 # define xfs_rtfile_convert_unwritten(ip, pos, len) (0) 197 # define xfs_rtlock(tp, mp, lock_flags) do { } while (0) 198 # define xfs_rtunlock(mp, lock_flags) do { } while (0) 199 # define xfs_rtalloc_find_freesp(mp, rtx, end_rtx, len_rtx) (-ENOSYS) 200 #endif /* CONFIG_XFS_RT */ 201 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org