diff options
author | Charles Manning <cdhmanning@gmail.com> | 2010-04-16 12:13:27 +1200 |
---|---|---|
committer | Charles Manning <cdhmanning@gmail.com> | 2010-04-16 12:15:28 +1200 |
commit | c565b5da13774bc9d5f661d93a127ba86a8769e7 (patch) | |
tree | 766c4c924d8dc1ae4ac58e9ec2d7092cb899326f /yaffs_guts.h | |
parent | 710ded16f463700dde2753ce4a352097051f88f7 (diff) |
work in progress
Diffstat (limited to 'yaffs_guts.h')
-rw-r--r-- | yaffs_guts.h | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/yaffs_guts.h b/yaffs_guts.h index cf19391..8c0b782 100644 --- a/yaffs_guts.h +++ b/yaffs_guts.h @@ -689,10 +689,6 @@ struct yaffs_DeviceStruct { int nFreeTnodes; yaffs_TnodeList *allocatedTnodeList; - int isDoingGC; - int gcBlock; - int gcChunk; - int nObjectsCreated; yaffs_Object *freeObjects; int nFreeObjects; @@ -706,12 +702,18 @@ struct yaffs_DeviceStruct { int nFreeChunks; - int currentDirtyChecker; /* Used to find current dirtiest block */ - + /* Garbage collection control */ __u32 *gcCleanupList; /* objects to delete at the end of a GC. */ - int nonAggressiveSkip; /* GC state/mode */ - int hasPendingPrioritisedGCs; /* We think this device might have pending prioritised gcs */ + unsigned hasPendingPrioritisedGCs; /* We think this device might have pending prioritised gcs */ + unsigned gcDisable; + unsigned gcBlockFinder; + unsigned gcDirtiest; + unsigned gcPagesInUse; + unsigned gcNotDone; + unsigned gcBlock; + unsigned gcChunk; + unsigned gcSkip; /* Special directories */ yaffs_Object *rootDir; @@ -746,6 +748,7 @@ struct yaffs_DeviceStruct { /* yaffs2 runtime stuff */ unsigned sequenceNumber; /* Sequence number of currently allocating block */ unsigned oldestDirtySequence; + unsigned oldestDirtyBlock; /* Block refreshing */ int refreshSkip; /* A skip down counter. Refresh happens when this gets to zero. */ @@ -892,9 +895,9 @@ void yfsd_WinFileTimeNow(__u32 target[2]); void yaffs_HandleDeferedFree(yaffs_Object *obj); - void yaffs_UpdateDirtyDirectories(yaffs_Device *dev); +int yaffs_BackgroundGarbageCollect(yaffs_Device *dev); /* Debug dump */ int yaffs_DumpObject(yaffs_Object *obj); |