yaffs Clean up compilation warning
[yaffs2.git] / yaffs_guts.h
index cf193914b4044bd2790a6a5d818eb73a7dd9bd35..3647d6bce6cd629dfcc483edead75c5519809a17 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
  *
- * Copyright (C) 2002-2007 Aleph One Ltd.
+ * Copyright (C) 2002-2010 Aleph One Ltd.
  *   for Toby Churchill Ltd and Brightstar Engineering
  *
  * Created by Charles Manning <charles@aleph1.co.uk>
@@ -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. */
@@ -760,8 +763,10 @@ struct yaffs_DeviceStruct {
        __u32 nBlockErasures;
        __u32 nErasureFailures;
        __u32 nGCCopies;
-       __u32 garbageCollections;
-       __u32 passiveGarbageCollections;
+       __u32 allGCs;
+       __u32 passiveGCs;
+       __u32 oldestDirtyGCs;
+       __u32 backgroundGCs;
        __u32 nRetriedWrites;
        __u32 nRetiredBlocks;
        __u32 eccFixed;
@@ -892,9 +897,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, unsigned urgency);
 
 /* Debug dump  */
 int yaffs_DumpObject(yaffs_Object *obj);