summaryrefslogtreecommitdiff
path: root/yaffs_guts.h
diff options
context:
space:
mode:
authorcharles <charles>2010-02-25 22:41:46 +0000
committercharles <charles>2010-02-25 22:41:46 +0000
commitb4a902328423692f296c9118bf6bfaa057ccc72c (patch)
treeb143e56bcdc1e9b34e2c0e5c09d405a0c7b43299 /yaffs_guts.h
parent61877debc479560d3f2b1a7e455a843375ef5fb2 (diff)
Add block refreshing feature
Diffstat (limited to 'yaffs_guts.h')
-rw-r--r--yaffs_guts.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/yaffs_guts.h b/yaffs_guts.h
index 53ab280..7d2ab53 100644
--- a/yaffs_guts.h
+++ b/yaffs_guts.h
@@ -557,6 +557,8 @@ struct yaffs_DeviceParamStruct {
int emptyLostAndFound; /* Auto-empty lost+found directory on mount */
+ int refreshPeriod; /* How often we should check to do a block refresh */
+
/* Checkpoint control. Can be set before or after initialisation */
__u8 skipCheckpointRead;
__u8 skipCheckpointWrite;
@@ -723,8 +725,6 @@ struct yaffs_DeviceStruct {
yaffs_ChunkCache *srCache;
int srLastUse;
- int cacheHits;
-
/* Stuff for background deletion and unlinked files.*/
yaffs_Object *unlinkedDir; /* Directory where unlinked and deleted files live. */
yaffs_Object *deletedDir; /* Directory where deleted objects are sent to disappear. */
@@ -733,7 +733,6 @@ struct yaffs_DeviceStruct {
int nUnlinkedFiles; /* Count of unlinked files. */
int nBackgroundDeletions; /* Count of background deletions. */
-
/* Temporary buffer management */
yaffs_TempBuffer tempBuffer[YAFFS_N_TEMP_BUFFERS];
int maxTemp;
@@ -744,7 +743,9 @@ struct yaffs_DeviceStruct {
/* yaffs2 runtime stuff */
unsigned sequenceNumber; /* Sequence number of currently allocating block */
unsigned oldestDirtySequence;
-
+
+ /* Block refreshing */
+ int refreshSkip; /* A skip down counter. Refresh happens when this gets to zero. */
/* Statistcs */
int nPageWrites;
@@ -762,6 +763,9 @@ struct yaffs_DeviceStruct {
int tagsEccUnfixed;
int nDeletions;
int nUnmarkedDeletions;
+ int refreshCount;
+ int cacheHits;
+
};
typedef struct yaffs_DeviceStruct yaffs_Device;