*/
const char *yaffs_guts_c_version =
- "$Id: yaffs_guts.c,v 1.119 2010-03-12 02:48:34 charles Exp $";
+ "$Id: yaffs_guts.c,v 1.120 2010-03-15 23:10:34 charles Exp $";
#include "yportenv.h"
#include "yaffs_trace.h"
int checkpointBlockAdjust;
+ if(dev->param.gcControl &&
+ (dev->param.gcControl(dev) & 1) == 0)
+ return YAFFS_OK;
+
if (dev->isDoingGC) {
/* Bail out so we don't get recursive gc */
return YAFFS_OK;
int retVal;
int immediateDeletion = 0;
+ yaffs_Device *dev = in->myDev;
if (!in->myInode)
immediateDeletion = 1;
in->objectId));
in->deleted = 1;
in->myDev->nDeletedFiles++;
- if (1 || in->myDev->param.isYaffs2)
+ if (dev->param.disableSoftDelete || dev->param.isYaffs2)
yaffs_ResizeFile(in, 0);
yaffs_SoftDeleteFile(in);
} else {
{
int retVal = YAFFS_OK;
int deleted = in->deleted;
+ yaffs_Device *dev = in->myDev;
- yaffs_ResizeFile(in, 0);
+ if (dev->param.disableSoftDelete || dev->param.isYaffs2)
+ yaffs_ResizeFile(in, 0);
if (in->nDataChunks > 0) {
/* Use soft deletion if there is data in the file.