projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed quick_tests return codes.
[yaffs2.git]
/
yaffs_guts.h
diff --git
a/yaffs_guts.h
b/yaffs_guts.h
index 124e4c99d1163bb912449b0e8a9e88dd468d822a..22381f9c9fc695fd5741e5c9104cdc8448b0a4cf 100644
(file)
--- a/
yaffs_guts.h
+++ b/
yaffs_guts.h
@@
-125,7
+125,7
@@
/* Special sequence number for bad block that failed to be marked bad */
#define YAFFS_SEQUENCE_BAD_BLOCK 0xffff0000
/* Special sequence number for bad block that failed to be marked bad */
#define YAFFS_SEQUENCE_BAD_BLOCK 0xffff0000
-/* Chunk
C
ache is used for short read/write operations.*/
+/* Chunk
c
ache is used for short read/write operations.*/
struct yaffs_cache {
struct yaffs_obj *object;
int chunk_id;
struct yaffs_cache {
struct yaffs_obj *object;
int chunk_id;
@@
-136,6
+136,13
@@
struct yaffs_cache {
u8 *data;
};
u8 *data;
};
+struct yaffs_cache_manager {
+ struct yaffs_cache *cache;
+ int n_caches;
+ int cache_last_use;
+ int n_temp_buffers;
+};
+
/* yaffs1 tags structures in RAM
* NB This uses bitfield. Bitfields should not straddle a u32 boundary
* otherwise the structure size will get blown out.
/* yaffs1 tags structures in RAM
* NB This uses bitfield. Bitfields should not straddle a u32 boundary
* otherwise the structure size will get blown out.
@@
-475,15
+482,17
@@
struct yaffs_obj {
YCHAR short_name[YAFFS_SHORT_NAME_LENGTH + 1];
#ifdef CONFIG_YAFFS_WINCE
YCHAR short_name[YAFFS_SHORT_NAME_LENGTH + 1];
#ifdef CONFIG_YAFFS_WINCE
+ //these are always 64 bits
u32 win_ctime[2];
u32 win_mtime[2];
u32 win_atime[2];
#else
u32 win_ctime[2];
u32 win_mtime[2];
u32 win_atime[2];
#else
- u32 yst_uid;
- u32 yst_gid;
- u32 yst_atime;
- u32 yst_mtime;
- u32 yst_ctime;
+ //these can be 32 or 64 bits
+ YTIME_T yst_uid;
+ YTIME_T yst_gid;
+ YTIME_T yst_atime;
+ YTIME_T yst_mtime;
+ YTIME_T yst_ctime;
#endif
u32 yst_rdev;
#endif
u32 yst_rdev;
@@
-741,8
+750,7
@@
struct yaffs_dev {
int buffered_block; /* Which block is buffered here? */
int doing_buffered_block_rewrite;
int buffered_block; /* Which block is buffered here? */
int doing_buffered_block_rewrite;
- struct yaffs_cache *cache;
- int cache_last_use;
+ struct yaffs_cache_manager cache_mgr;
/* Stuff for background deletion and unlinked files. */
struct yaffs_obj *unlinked_dir; /* Directory where unlinked and deleted
/* Stuff for background deletion and unlinked files. */
struct yaffs_obj *unlinked_dir; /* Directory where unlinked and deleted
@@
-1040,6
+1048,11
@@
loff_t yaffs_oh_to_size(struct yaffs_dev *dev, struct yaffs_obj_hdr *oh,
int do_endian);
loff_t yaffs_max_file_size(struct yaffs_dev *dev);
int do_endian);
loff_t yaffs_max_file_size(struct yaffs_dev *dev);
+
+/* yaffs_wr_data_obj needs to be exposed to allow the cache to access it. */
+int yaffs_wr_data_obj(struct yaffs_obj *in, int inode_chunk,
+ const u8 *buffer, int n_bytes, int use_reserve);
+
/*
* Debug function to count number of blocks in each state
* NB Needs to be called with correct number of integers
/*
* Debug function to count number of blocks in each state
* NB Needs to be called with correct number of integers