X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;f=yaffs_verify.c;h=c7ae2c1e0bea12de5a3bb96443d7e880ad112006;hb=refs%2Fheads%2Fclean-up;hp=b3e540dd52a3656c223587431bda39b76b56e502;hpb=d7388fb75a13610d14d0afc397f826bd44c972e1;p=yaffs2.git diff --git a/yaffs_verify.c b/yaffs_verify.c index b3e540d..c7ae2c1 100644 --- a/yaffs_verify.c +++ b/yaffs_verify.c @@ -19,20 +19,20 @@ int yaffs_skip_verification(struct yaffs_dev *dev) { - dev = dev; + (void) dev; return !(yaffs_trace_mask & (YAFFS_TRACE_VERIFY | YAFFS_TRACE_VERIFY_FULL)); } static int yaffs_skip_full_verification(struct yaffs_dev *dev) { - dev = dev; + (void) dev; return !(yaffs_trace_mask & (YAFFS_TRACE_VERIFY_FULL)); } static int yaffs_skip_nand_verification(struct yaffs_dev *dev) { - dev = dev; + (void) dev; return !(yaffs_trace_mask & (YAFFS_TRACE_VERIFY_NAND)); } @@ -77,10 +77,10 @@ void yaffs_verify_blk(struct yaffs_dev *dev, struct yaffs_block_info *bi, int n) actually_used = bi->pages_in_use - bi->soft_del_pages; if (bi->pages_in_use < 0 || - bi->pages_in_use > dev->param.chunks_per_block || + bi->pages_in_use > (int)dev->param.chunks_per_block || bi->soft_del_pages < 0 || - bi->soft_del_pages > dev->param.chunks_per_block || - actually_used < 0 || actually_used > dev->param.chunks_per_block) + bi->soft_del_pages > (int)dev->param.chunks_per_block || + actually_used < 0 || actually_used > (int)dev->param.chunks_per_block) yaffs_trace(YAFFS_TRACE_VERIFY, "Block %d has illegal values pages_in_used %d soft_del_pages %d", n, bi->pages_in_use, bi->soft_del_pages); @@ -110,7 +110,7 @@ void yaffs_verify_collected_blk(struct yaffs_dev *dev, void yaffs_verify_blocks(struct yaffs_dev *dev) { - int i; + u32 i; int state_count[YAFFS_NUMBER_OF_BLOCK_STATES]; int illegal_states = 0; @@ -222,11 +222,12 @@ void yaffs_verify_oh(struct yaffs_obj *obj, struct yaffs_obj_hdr *oh, void yaffs_verify_file(struct yaffs_obj *obj) { + u32 x; int required_depth; - int actual_depth; u32 last_chunk; + u32 offset_in_chunk; u32 the_chunk; - u32 x; + u32 i; struct yaffs_dev *dev; struct yaffs_ext_tags tags; @@ -242,9 +243,11 @@ void yaffs_verify_file(struct yaffs_obj *obj) dev = obj->my_dev; obj_id = obj->obj_id; + /* Check file size is consistent with tnode depth */ - last_chunk = - obj->variant.file_variant.file_size / dev->data_bytes_per_chunk + 1; + yaffs_addr_to_chunk(dev, obj->variant.file_variant.file_size, + &last_chunk, &offset_in_chunk); + last_chunk++; x = last_chunk >> YAFFS_TNODES_LEVEL0_BITS; required_depth = 0; while (x > 0) { @@ -252,8 +255,6 @@ void yaffs_verify_file(struct yaffs_obj *obj) required_depth++; } - actual_depth = obj->variant.file_variant.top_level; - /* Check that the chunks in the tnode tree are all correct. * We do this by scanning through the tnode tree and * checking the tags for every chunk match. @@ -520,6 +521,6 @@ void yaffs_verify_free_chunks(struct yaffs_dev *dev) int yaffs_verify_file_sane(struct yaffs_obj *in) { - in = in; + (void) in; return YAFFS_OK; }