Lines Matching refs:level
32 int level, in xchk_da_process_error() argument
54 ds->state->path.blk[level].blkno), in xchk_da_process_error()
68 int level) in xchk_da_set_corrupt() argument
76 ds->state->path.blk[level].blkno), in xchk_da_set_corrupt()
83 int level) in xchk_da_btree_node_entry() argument
85 struct xfs_da_state_blk *blk = &ds->state->path.blk[level]; in xchk_da_btree_node_entry()
98 int level, in xchk_da_btree_hash() argument
107 if (hash < ds->hashes[level]) in xchk_da_btree_hash()
108 xchk_da_set_corrupt(ds, level); in xchk_da_btree_hash()
109 ds->hashes[level] = hash; in xchk_da_btree_hash()
111 if (level == 0) in xchk_da_btree_hash()
115 entry = xchk_da_btree_node_entry(ds, level - 1); in xchk_da_btree_hash()
118 xchk_da_set_corrupt(ds, level); in xchk_da_btree_hash()
130 int level, in xchk_da_btree_ptr_ok() argument
134 xchk_da_set_corrupt(ds, level); in xchk_da_btree_ptr_ok()
218 int level, in xchk_da_btree_block_check_sibling() argument
238 xchk_da_set_corrupt(ds, level); in xchk_da_btree_block_check_sibling()
246 if (!xchk_da_process_error(ds, level, &error)) in xchk_da_btree_block_check_sibling()
249 xchk_da_set_corrupt(ds, level); in xchk_da_btree_block_check_sibling()
252 if (altpath->blk[level].bp) in xchk_da_btree_block_check_sibling()
253 xchk_buffer_recheck(ds->sc, altpath->blk[level].bp); in xchk_da_btree_block_check_sibling()
256 if (altpath->blk[level].blkno != sibling) in xchk_da_btree_block_check_sibling()
257 xchk_da_set_corrupt(ds, level); in xchk_da_btree_block_check_sibling()
278 int level, in xchk_da_btree_block_check_siblings() argument
289 if (level == 0) { in xchk_da_btree_block_check_siblings()
291 xchk_da_set_corrupt(ds, level); in xchk_da_btree_block_check_siblings()
299 error = xchk_da_btree_block_check_sibling(ds, level, 0, back); in xchk_da_btree_block_check_siblings()
302 error = xchk_da_btree_block_check_sibling(ds, level, 1, forw); in xchk_da_btree_block_check_siblings()
313 int level, in xchk_da_btree_block() argument
327 blk = &ds->state->path.blk[level]; in xchk_da_btree_block()
328 ds->state->path.active = level + 1; in xchk_da_btree_block()
338 if (!xchk_da_btree_ptr_ok(ds, level, blkno)) in xchk_da_btree_block()
345 if (!xchk_da_process_error(ds, level, &error)) in xchk_da_btree_block()
355 if (ds->dargs.whichfork == XFS_DATA_FORK && level == 0 && in xchk_da_btree_block()
361 xchk_da_set_corrupt(ds, level); in xchk_da_btree_block()
367 pmaxrecs = &ds->maxrecs[level]; in xchk_da_btree_block()
371 xchk_da_set_corrupt(ds, level); in xchk_da_btree_block()
377 xchk_da_set_corrupt(ds, level); in xchk_da_btree_block()
381 error = xchk_da_btree_block_check_siblings(ds, level, &hdr3->hdr); in xchk_da_btree_block()
394 xchk_da_set_corrupt(ds, level); in xchk_da_btree_block()
403 xchk_da_set_corrupt(ds, level); in xchk_da_btree_block()
412 xchk_da_set_corrupt(ds, level); in xchk_da_btree_block()
424 if (level == 0) { in xchk_da_btree_block()
425 if (nodehdr.level >= XFS_DA_NODE_MAXDEPTH) { in xchk_da_btree_block()
426 xchk_da_set_corrupt(ds, level); in xchk_da_btree_block()
429 ds->tree_level = nodehdr.level; in xchk_da_btree_block()
431 if (ds->tree_level != nodehdr.level) { in xchk_da_btree_block()
432 xchk_da_set_corrupt(ds, level); in xchk_da_btree_block()
440 xchk_da_set_corrupt(ds, level); in xchk_da_btree_block()
448 if (level > 0) { in xchk_da_btree_block()
451 key = xchk_da_btree_node_entry(ds, level - 1); in xchk_da_btree_block()
453 xchk_da_set_corrupt(ds, level); in xchk_da_btree_block()
481 int level; in xchk_da_btree() local
509 level = 0; in xchk_da_btree()
513 error = xchk_da_btree_block(ds, level, blkno); in xchk_da_btree()
521 if (blks[level].bp == NULL) in xchk_da_btree()
524 blks[level].index = 0; in xchk_da_btree()
525 while (level >= 0 && level < XFS_DA_NODE_MAXDEPTH) { in xchk_da_btree()
527 if (blks[level].magic != XFS_DA_NODE_MAGIC) { in xchk_da_btree()
529 if (blks[level].index >= ds->maxrecs[level]) { in xchk_da_btree()
530 if (level > 0) in xchk_da_btree()
531 blks[level - 1].index++; in xchk_da_btree()
533 level--; in xchk_da_btree()
538 error = scrub_fn(ds, level); in xchk_da_btree()
545 blks[level].index++; in xchk_da_btree()
551 if (blks[level].index >= ds->maxrecs[level]) { in xchk_da_btree()
552 if (level > 0) in xchk_da_btree()
553 blks[level - 1].index++; in xchk_da_btree()
555 level--; in xchk_da_btree()
560 key = xchk_da_btree_node_entry(ds, level); in xchk_da_btree()
561 error = xchk_da_btree_hash(ds, level, &key->hashval); in xchk_da_btree()
567 level++; in xchk_da_btree()
568 if (level >= XFS_DA_NODE_MAXDEPTH) { in xchk_da_btree()
570 xchk_da_set_corrupt(ds, level - 1); in xchk_da_btree()
574 error = xchk_da_btree_block(ds, level, blkno); in xchk_da_btree()
577 if (blks[level].bp == NULL) in xchk_da_btree()
580 blks[level].index = 0; in xchk_da_btree()
585 for (level = 0; level < XFS_DA_NODE_MAXDEPTH; level++) { in xchk_da_btree()
586 if (blks[level].bp == NULL) in xchk_da_btree()
588 xfs_trans_brelse(sc->tp, blks[level].bp); in xchk_da_btree()
589 blks[level].bp = NULL; in xchk_da_btree()