* [djwong-xfs:scrub-rtsummary 15/27] fs/xfs/scrub/bmap.c:283:62: error: 'bno' undeclared; did you mean
@ 2020-11-11 20:10 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-11-11 20:10 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 6890 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git scrub-rtsummary
head: 695cbba414eac11f6989dac8e3323882d67581f9
commit: f507d97a812d43da734618a53305f93ae560eca3 [15/27] xfs: teach scrub to check for adjacent bmaps when rmap larger than bmap
config: i386-randconfig-r034-20201111 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git/commit/?id=f507d97a812d43da734618a53305f93ae560eca3
git remote add djwong-xfs https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git
git fetch --no-tags djwong-xfs scrub-rtsummary
git checkout f507d97a812d43da734618a53305f93ae560eca3
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/string.h:6,
from include/linux/uuid.h:12,
from fs/xfs/xfs_linux.h:10,
from fs/xfs/xfs.h:22,
from fs/xfs/scrub/bmap.c:6:
fs/xfs/scrub/bmap.c: In function 'xchk_bmap_xref_rmap':
>> fs/xfs/scrub/bmap.c:283:62: error: 'bno' undeclared (first use in this function); did you mean 'bio'?
283 | if (info->whichfork != XFS_COW_FORK && rmap.rm_startblock < bno &&
| ^~~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
fs/xfs/scrub/bmap.c:283:2: note: in expansion of macro 'if'
283 | if (info->whichfork != XFS_COW_FORK && rmap.rm_startblock < bno &&
| ^~
fs/xfs/scrub/bmap.c:283:62: note: each undeclared identifier is reported only once for each function it appears in
283 | if (info->whichfork != XFS_COW_FORK && rmap.rm_startblock < bno &&
| ^~~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
fs/xfs/scrub/bmap.c:283:2: note: in expansion of macro 'if'
283 | if (info->whichfork != XFS_COW_FORK && rmap.rm_startblock < bno &&
| ^~
vim +283 fs/xfs/scrub/bmap.c
207
208 /* Make sure that we have rmapbt records for this extent. */
209 STATIC void
210 xchk_bmap_xref_rmap(
211 struct xchk_bmap_info *info,
212 struct xfs_bmbt_irec *irec,
213 xfs_agblock_t agbno)
214 {
215 struct xfs_rmap_irec rmap;
216 unsigned long long rmap_end;
217 uint64_t owner;
218
219 if (!info->sc->sa.rmap_cur || xchk_skip_xref(info->sc->sm))
220 return;
221
222 if (info->whichfork == XFS_COW_FORK)
223 owner = XFS_RMAP_OWN_COW;
224 else
225 owner = info->sc->ip->i_ino;
226
227 /* Find the rmap record for this irec. */
228 if (!xchk_bmap_get_rmap(info, irec, agbno, owner, &rmap))
229 return;
230
231 /* Check the rmap. */
232 rmap_end = (unsigned long long)rmap.rm_startblock + rmap.rm_blockcount;
233 if (rmap.rm_startblock > agbno ||
234 agbno + irec->br_blockcount > rmap_end)
235 xchk_fblock_xref_set_corrupt(info->sc, info->whichfork,
236 irec->br_startoff);
237
238 /*
239 * Check the logical offsets if applicable. CoW staging extents
240 * don't track logical offsets since the mappings only exist in
241 * memory.
242 */
243 if (info->whichfork != XFS_COW_FORK) {
244 rmap_end = (unsigned long long)rmap.rm_offset +
245 rmap.rm_blockcount;
246 if (rmap.rm_offset > irec->br_startoff ||
247 irec->br_startoff + irec->br_blockcount > rmap_end)
248 xchk_fblock_xref_set_corrupt(info->sc,
249 info->whichfork, irec->br_startoff);
250 }
251
252 if (rmap.rm_owner != owner)
253 xchk_fblock_xref_set_corrupt(info->sc, info->whichfork,
254 irec->br_startoff);
255
256 /*
257 * Check for discrepancies between the unwritten flag in the irec and
258 * the rmap. Note that the (in-memory) CoW fork distinguishes between
259 * unwritten and written extents, but we don't track that in the rmap
260 * records because the blocks are owned (on-disk) by the refcountbt,
261 * which doesn't track unwritten state.
262 */
263 if (owner != XFS_RMAP_OWN_COW &&
264 !!(irec->br_state == XFS_EXT_UNWRITTEN) !=
265 !!(rmap.rm_flags & XFS_RMAP_UNWRITTEN))
266 xchk_fblock_xref_set_corrupt(info->sc, info->whichfork,
267 irec->br_startoff);
268
269 if (!!(info->whichfork == XFS_ATTR_FORK) !=
270 !!(rmap.rm_flags & XFS_RMAP_ATTR_FORK))
271 xchk_fblock_xref_set_corrupt(info->sc, info->whichfork,
272 irec->br_startoff);
273 if (rmap.rm_flags & XFS_RMAP_BMBT_BLOCK)
274 xchk_fblock_xref_set_corrupt(info->sc, info->whichfork,
275 irec->br_startoff);
276
277 /*
278 * If the rmap starts before this bmbt record, make sure there's a bmbt
279 * record for the previous offset that is contiguous with this mapping.
280 * Skip this for CoW fork extents because the refcount btree (and not
281 * the inode) is the ondisk owner for those extents.
282 */
> 283 if (info->whichfork != XFS_COW_FORK && rmap.rm_startblock < bno &&
284 !xchk_bmap_has_prev(info, irec)) {
285 xchk_fblock_xref_set_corrupt(info->sc, info->whichfork,
286 irec->br_startoff);
287 return;
288 }
289
290 /*
291 * If the rmap ends after this bmbt record, make sure there's a bmbt
292 * record for the next offset that is contiguous with this mapping.
293 * Skip this for CoW fork extents because the refcount btree (and not
294 * the inode) is the ondisk owner for those extents.
295 */
296 rmap_end = (unsigned long long)rmap.rm_startblock + rmap.rm_blockcount;
297 if (info->whichfork != XFS_COW_FORK &&
298 rmap_end > bno + irec->br_blockcount &&
299 !xchk_bmap_has_next(info, irec)) {
300 xchk_fblock_xref_set_corrupt(info->sc, info->whichfork,
301 irec->br_startoff);
302 return;
303 }
304 }
305
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 37318 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-11-11 20:10 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-11 20:10 [djwong-xfs:scrub-rtsummary 15/27] fs/xfs/scrub/bmap.c:283:62: error: 'bno' undeclared; did you mean kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.