/* let's give it a try */
attempts++;
-#ifdef CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED
- bi->skipErasedCheck = 0;
-#endif
+ if(dev->param.alwaysCheckErased)
+ bi->skipErasedCheck = 0;
+
if (!bi->skipErasedCheck) {
erasedOk = yaffs_CheckChunkErased(dev, chunk);
if (erasedOk != YAFFS_OK) {
#ifdef CONFIG_YAFFS_AUTO_UNICODE
int autoUnicode;
#endif
-
+ int alwaysCheckErased; /* Force chunk erased check always on */
};
typedef struct yaffs_DeviceParamStruct yaffs_DeviceParam;
return ncopied;
}
-#if 0
-int nval_load(char *xb, int xb_size, const char *src, int src_size)
-{
- int tx_size;
- int used;
-
- tx_size = xb_size;
- if(tx_size > src_size)
- tx_size = src_size;
-
- memcpy(xb,src,tx_size);
- used = nval_used(xb, xb_size);
-
- if( used < xb_size)
- memset(xb+ used, 0, xb_size - used);
- return used;
-}
-
-int nval_save(const char *xb, int xb_size, char *dest, int dest_size)
-{
- int tx_size;
-
- tx_size = xb_size;
- if(tx_size > dest_size)
- tx_size = dest_size;
-
- memcpy(dest,xb,tx_size);
- return tx_size;
-}
-#endif
-
int nval_hasvalues(const char *xb, int xb_size)
{
param->refreshPeriod = 500;
#endif
+#ifdef CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED
+ param->alwaysCheckErased = 1;
+#endif
+
if(options.empty_lost_and_found_overridden)
param->emptyLostAndFound = options.empty_lost_and_found;
buf += sprintf(buf, "refreshPeriod...... %d\n", dev->param.refreshPeriod);
buf += sprintf(buf, "nShortOpCaches..... %d\n", dev->param.nShortOpCaches);
buf += sprintf(buf, "nReservedBlocks.... %d\n", dev->param.nReservedBlocks);
+ buf += sprintf(buf, "alwaysCheckErased...%d\n", dev->param.alwaysCheckErased);
buf += sprintf(buf, "\n");
param->refreshPeriod = 500;
#endif
+#ifdef CONFIG_YAFFS__ALWAYS_CHECK_CHUNK_ERASED
+ param->alwaysCheckErased = 1;
+#endif
+
if(options.empty_lost_and_found_overridden)
param->emptyLostAndFound = options.empty_lost_and_found;
buf += sprintf(buf, "refreshPeriod...... %d\n", dev->param.refreshPeriod);
buf += sprintf(buf, "nShortOpCaches..... %d\n", dev->param.nShortOpCaches);
buf += sprintf(buf, "nReservedBlocks.... %d\n", dev->param.nReservedBlocks);
+ buf += sprintf(buf, "alwaysCheckErased.. %d\n", dev->param.alwaysCheckErased);
buf += sprintf(buf, "\n");
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 19))
#include <linux/config.h>
#endif
+
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/sched.h>