- int i;
- yaffs_dev_t *dev = obj->my_dev;
- int ok = 1;
-
- if (tn) {
- if (level > 0) {
-
- for (i = 0; i < YAFFS_NTNODES_INTERNAL && ok; i++) {
- if (tn->internal[i]) {
- ok = yaffs_verify_tnode_worker(obj,
- tn->internal[i],
- level - 1,
- (chunk_offset<<YAFFS_TNODES_INTERNAL_BITS) + i);
- }
- }
- } else if (level == 0) {
- yaffs_ext_tags tags;
- __u32 obj_id = obj->obj_id;
-
- chunk_offset <<= YAFFS_TNODES_LEVEL0_BITS;
-
- for (i = 0; i < YAFFS_NTNODES_LEVEL0; i++) {
- __u32 theChunk = yaffs_get_group_base(dev, tn, i);
-
- if (theChunk > 0) {
- /* T(~0,(TSTR("verifying (%d:%d) %d"TENDSTR),tags.obj_id,tags.chunk_id,theChunk)); */
- yaffs_rd_chunk_tags_nand(dev, theChunk, NULL, &tags);
- if (tags.obj_id != obj_id || tags.chunk_id != chunk_offset) {
- T(~0, (TSTR("Object %d chunk_id %d NAND mismatch chunk %d tags (%d:%d)"TENDSTR),
- obj_id, chunk_offset, theChunk,
- tags.obj_id, tags.chunk_id));
- }
- }
- chunk_offset++;
- }
- }
- }
-
- return ok;
-
-}
-
-#endif