typedef struct {
struct ylist_head children; /* list of child links */
+ struct ylist_head dirty; /* Entry for list of dirty directories */
} yaffs_DirectoryStructure;
typedef struct {
int useHeaderFileSize; /* Flag to determine if we should use file sizes from the header */
int disableLazyLoad; /* Disable lazy loading on this device */
int wideTnodesDisabled; /* Set to disable wide tnodes */
-
- /* End of stuff that must be set before initialisation. */
+
+ int deferDirectoryUpdate; /* Set to defer directory updates */
+
};
typedef struct yaffs_DeviceParamStruct yaffs_DeviceParam;
/* Block refreshing */
int refreshSkip; /* A skip down counter. Refresh happens when this gets to zero. */
+ /* Dirty directory handling */
+ struct ylist_head dirtyDirectories; /* List of dirty directories */
+
+
/* Statistcs */
int nPageWrites;
int nPageReads;
void yaffs_HandleDeferedFree(yaffs_Object *obj);
+
+void yaffs_UpdateDirtyDirectories(yaffs_Device *dev);
+
+
/* Debug dump */
int yaffs_DumpObject(yaffs_Object *obj);
__u8 *yaffs_GetTempBuffer(yaffs_Device *dev, int lineNo);
void yaffs_ReleaseTempBuffer(yaffs_Device *dev, __u8 *buffer, int lineNo);
+
#endif