projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Yaffs Clean ups
[yaffs2.git]
/
yaffs_guts.h
diff --git
a/yaffs_guts.h
b/yaffs_guts.h
index d89f8b00de956c4c6c1881e2a48d42d2325841ff..397aae8cc9c838abcbceca3d9008d94212338643 100644
(file)
--- a/
yaffs_guts.h
+++ b/
yaffs_guts.h
@@
-144,12
+144,12
@@
struct yaffs_cache {
*/
struct yaffs_tags {
*/
struct yaffs_tags {
- u
nsigned
chunk_id:20;
- u
nsigned
serial_number:2;
- u
nsigned
n_bytes_lsb:10;
- u
nsigned
obj_id:18;
- u
nsigned
ecc:12;
- u
nsigned
n_bytes_msb:2;
+ u
32
chunk_id:20;
+ u
32
serial_number:2;
+ u
32
n_bytes_lsb:10;
+ u
32
obj_id:18;
+ u
32
ecc:12;
+ u
32
n_bytes_msb:2;
};
union yaffs_tags_union {
};
union yaffs_tags_union {
@@
-163,6
+163,7
@@
union yaffs_tags_union {
enum yaffs_ecc_result {
YAFFS_ECC_RESULT_UNKNOWN,
YAFFS_ECC_RESULT_NO_ERROR,
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
};
YAFFS_ECC_RESULT_FIXED,
YAFFS_ECC_RESULT_UNFIXED
};
@@
-287,9
+288,9
@@
enum yaffs_block_state {
struct yaffs_block_info {
struct yaffs_block_info {
-
int
soft_del_pages:10; /* number of soft deleted pages */
-
int
pages_in_use:10; /* number of pages in use */
- u
nsigned block_state:4;
/* One of the above block states. */
+
s32
soft_del_pages:10; /* number of soft deleted pages */
+
s32
pages_in_use:10; /* number of pages in use */
+ u
32 block_state:4;
/* One of the above block states. */
/* NB use unsigned because enum is sometimes
* an int */
u32 needs_retiring:1; /* Data has failed on this block, */
/* NB use unsigned because enum is sometimes
* an int */
u32 needs_retiring:1; /* Data has failed on this block, */
@@
-688,8
+689,8
@@
struct yaffs_dev {
/* Block Info */
struct yaffs_block_info *block_info;
u8 *chunk_bits; /* bitmap of chunks in use */
/* Block Info */
struct yaffs_block_info *block_info;
u8 *chunk_bits; /* bitmap of chunks in use */
- u
nsigned block_info_alt:1;
/* allocated using alternative alloc */
- u
nsigned chunk_bits_alt:1;
/* allocated using alternative alloc */
+ u
8 block_info_alt:1;
/* allocated using alternative alloc */
+ u
8 chunk_bits_alt:1;
/* allocated using alternative alloc */
int chunk_bit_stride; /* Number of bytes of chunk_bits per block.
* Must be consistent with chunks_per_block.
*/
int chunk_bit_stride; /* Number of bytes of chunk_bits per block.
* Must be consistent with chunks_per_block.
*/
@@
-876,10
+877,13
@@
struct yaffs_obj *yaffs_create_file(struct yaffs_obj *parent,
const YCHAR *name, u32 mode, u32 uid,
u32 gid);
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 */
/* 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);
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,
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);
u8 *yaffs_get_temp_buffer(struct yaffs_dev *dev);
void yaffs_release_temp_buffer(struct yaffs_dev *dev, u8 *buffer);
@@
-982,7
+987,7
@@
u32 yaffs_get_group_base(struct yaffs_dev *dev, struct yaffs_tnode *tn,
int yaffs_is_non_empty_dir(struct yaffs_obj *obj);
int yaffs_is_non_empty_dir(struct yaffs_obj *obj);
-int yaffs_format_dev(struct yaffs_dev *dev);
+int yaffs_
guts_
format_dev(struct yaffs_dev *dev);
void yaffs_addr_to_chunk(struct yaffs_dev *dev, loff_t addr,
int *chunk_out, u32 *offset_out);
void yaffs_addr_to_chunk(struct yaffs_dev *dev, loff_t addr,
int *chunk_out, u32 *offset_out);