yaffs Add stats tracking and control for background gc instrumentation
[yaffs2.git] / yaffs_guts.h
index 90c3022e2b82b9cd3b10df68a465e9ddf734bf7e..f9b5ac192424b50a7ecda2509f35a14f05da867b 100644 (file)
@@ -696,6 +696,7 @@ struct yaffs_DeviceStruct {
 
        /* Garbage collection control */
        __u32 *gcCleanupList;   /* objects to delete at the end of a GC. */
+       __u32 nCleanups;
 
        unsigned hasPendingPrioritisedGCs; /* We think this device might have pending prioritised gcs */
        unsigned gcDisable;
@@ -758,6 +759,7 @@ struct yaffs_DeviceStruct {
        __u32 allGCs;
        __u32 passiveGCs;
        __u32 oldestDirtyGCs;
+       __u32 nGCBlocks;
        __u32 backgroundGCs;
        __u32 nRetriedWrites;
        __u32 nRetiredBlocks;
@@ -896,10 +898,10 @@ yaffs_Object *yaffs_MknodSpecial(yaffs_Object *parent, const YCHAR *name,
                                 __u32 mode, __u32 uid, __u32 gid, __u32 rdev);
 
 
-int yaffs_SetXAttribute(yaffs_Object *obj, const char *name, const void * value, int size, int flags);
-int yaffs_GetXAttribute(yaffs_Object *obj, const char *name, void *value, int size);
+int yaffs_SetXAttribute(yaffs_Object *obj, const YCHAR *name, const void * value, int size, int flags);
+int yaffs_GetXAttribute(yaffs_Object *obj, const YCHAR *name, void *value, int size);
 int yaffs_ListXAttributes(yaffs_Object *obj, char *buffer, int size);
-int yaffs_RemoveXAttribute(yaffs_Object *obj, const char *name);
+int yaffs_RemoveXAttribute(yaffs_Object *obj, const YCHAR *name);
 
 /* Special directories */
 yaffs_Object *yaffs_Root(yaffs_Device *dev);