X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;f=yaffs_verify.c;h=c7ae2c1e0bea12de5a3bb96443d7e880ad112006;hb=refs%2Fheads%2Fclean-up;hp=27d36953bc4b7605c1acba461496de26c9898e6d;hpb=472c70456396a6f2019bfabe83bd292782dbd978;p=yaffs2.git diff --git a/yaffs_verify.c b/yaffs_verify.c index 27d3695..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. @@ -349,7 +350,7 @@ void yaffs_verify_obj(struct yaffs_obj *obj) if (chunk_valid && !yaffs_skip_nand_verification(dev)) { struct yaffs_ext_tags tags; struct yaffs_obj_hdr *oh; - u8 *buffer = yaffs_get_temp_buffer(dev, __LINE__); + u8 *buffer = yaffs_get_temp_buffer(dev); oh = (struct yaffs_obj_hdr *)buffer; @@ -357,7 +358,7 @@ void yaffs_verify_obj(struct yaffs_obj *obj) yaffs_verify_oh(obj, oh, &tags, 1); - yaffs_release_temp_buffer(dev, buffer, __LINE__); + yaffs_release_temp_buffer(dev, buffer); } /* Verify it has a parent */ @@ -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; }