Fix problem with checkpoint free space handling
[yaffs2.git] / direct / yaffscfg2k.c
index 9c45524774993f7097c7821faa58057cebc5455b..849a56d4b9555b0d28dcdc63462f0210477c3e1c 100644 (file)
@@ -13,7 +13,7 @@
 
 #include <errno.h>
 
-unsigned yaffs_traceMask = YAFFS_TRACE_SCAN |  YAFFS_TRACE_GC | YAFFS_TRACE_GC_DETAIL | YAFFS_TRACE_WRITE | YAFFS_TRACE_ERASE | YAFFS_TRACE_TRACING | YAFFS_TRACE_ALLOCATE;
+unsigned yaffs_traceMask = YAFFS_TRACE_SCAN |  YAFFS_TRACE_GC /*| YAFFS_TRACE_GC_DETAIL | YAFFS_TRACE_WRITE */ | YAFFS_TRACE_ERASE | YAFFS_TRACE_TRACING | YAFFS_TRACE_ALLOCATE | YAFFS_TRACE_CHECKPOINT;
 
 
 void yaffsfs_SetError(int err)
@@ -59,12 +59,19 @@ static yaffs_Device flashDev;
 static yaffs_Device ram2kDev;
 
 static yaffsfs_DeviceConfiguration yaffsfs_config[] = {
-
+#if 0
        { "/ram", &ramDev},
        { "/boot", &bootDev},
-       { "/flash", &flashDev},
+       { "/flash/", &flashDev},
        { "/ram2k", &ram2kDev},
        {(void *)0,(void *)0}
+#else
+       { "/", &ramDev},
+       { "/flash/boot", &bootDev},
+       { "/flash/flash", &flashDev},
+       { "/ram2k", &ram2kDev},
+       {(void *)0,(void *)0} /* Null entry to terminate list */
+#endif
 };
 
 
@@ -118,10 +125,14 @@ int yaffs_StartUp(void)
        flashDev.nBytesPerChunk = 2048;
        flashDev.nChunksPerBlock = 64;
        flashDev.nReservedBlocks = 5;
-       flashDev.startBlock = 0; 
-       //flashDev.endBlock = 127; // Last block in 16MB
-       flashDev.endBlock = yflash_GetNumberOfBlocks()-1;
+       flashDev.nCheckpointReservedBlocks = 5;
+       //flashDev.checkpointStartBlock = 1;
+       //flashDev.checkpointEndBlock = 20;
+       flashDev.startBlock = 20; 
+       flashDev.endBlock = 127; // Make it smaller
+       //flashDev.endBlock = yflash_GetNumberOfBlocks()-1;
        flashDev.isYaffs2 = 1;
+       flashDev.wideTnodesDisabled=0;
        flashDev.nShortOpCaches = 10; // Use caches
        flashDev.genericDevice = (void *) 2;    // Used to identify the device in fstat.
        flashDev.writeChunkWithTagsToNAND = yflash_WriteChunkWithTagsToNAND;
@@ -160,4 +171,8 @@ int yaffs_StartUp(void)
 
 
 
+void SetCheckpointReservedBlocks(int n)
+{
+       flashDev.nCheckpointReservedBlocks = n;
+}