Yaffs Clean ups
[yaffs2.git] / yaffs_guts.h
index 77bc7e9968c386612d951f818f9e1e627f69c386..397aae8cc9c838abcbceca3d9008d94212338643 100644 (file)
@@ -163,6 +163,7 @@ union yaffs_tags_union {
 enum yaffs_ecc_result {
        YAFFS_ECC_RESULT_UNKNOWN,
        YAFFS_ECC_RESULT_NO_ERROR,
+       YAFFS_ECC_RESULT_REFRESH,
        YAFFS_ECC_RESULT_FIXED,
        YAFFS_ECC_RESULT_UNFIXED
 };
@@ -876,10 +877,13 @@ struct yaffs_obj *yaffs_create_file(struct yaffs_obj *parent,
                                    const YCHAR *name, u32 mode, u32 uid,
                                    u32 gid);
 
-int yaffs_flush_file(struct yaffs_obj *obj, int update_time, int data_sync);
+int yaffs_flush_file(struct yaffs_obj *in,
+                    int update_time,
+                    int data_sync,
+                    int discard_cache);
 
 /* Flushing and checkpointing */
-void yaffs_flush_whole_cache(struct yaffs_dev *dev);
+void yaffs_flush_whole_cache(struct yaffs_dev *dev, int discard);
 
 int yaffs_checkpoint_save(struct yaffs_dev *dev);
 int yaffs_checkpoint_restore(struct yaffs_dev *dev);
@@ -937,7 +941,8 @@ void yaffs_chunk_del(struct yaffs_dev *dev, int chunk_id, int mark_flash,
                     int lyn);
 int yaffs_check_ff(u8 *buffer, int n_bytes);
 void yaffs_handle_chunk_error(struct yaffs_dev *dev,
-                             struct yaffs_block_info *bi);
+                             struct yaffs_block_info *bi,
+                             enum yaffs_ecc_result err_type);
 
 u8 *yaffs_get_temp_buffer(struct yaffs_dev *dev);
 void yaffs_release_temp_buffer(struct yaffs_dev *dev, u8 *buffer);