projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add more test scripts to automate running tests.
[yaffs2.git]
/
yaffs_guts.c
diff --git
a/yaffs_guts.c
b/yaffs_guts.c
index df66ec89860585636ffbfdaf0c80e7b90186493c..523bfb722b8afc31bd36f4e1ededd9805234460d 100644
(file)
--- a/
yaffs_guts.c
+++ b/
yaffs_guts.c
@@
-12,7
+12,7
@@
*/
const char *yaffs_guts_c_version =
*/
const char *yaffs_guts_c_version =
- "$Id: yaffs_guts.c,v 1.1
19 2010-03-12 02:48
:34 charles Exp $";
+ "$Id: yaffs_guts.c,v 1.1
20 2010-03-15 23:10
:34 charles Exp $";
#include "yportenv.h"
#include "yaffs_trace.h"
#include "yportenv.h"
#include "yaffs_trace.h"
@@
-3456,6
+3456,10
@@
static int yaffs_CheckGarbageCollection(yaffs_Device *dev)
int checkpointBlockAdjust;
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;
if (dev->isDoingGC) {
/* Bail out so we don't get recursive gc */
return YAFFS_OK;
@@
-5474,6
+5478,7
@@
static int yaffs_UnlinkFileIfNeeded(yaffs_Object *in)
int retVal;
int immediateDeletion = 0;
int retVal;
int immediateDeletion = 0;
+ yaffs_Device *dev = in->myDev;
if (!in->myInode)
immediateDeletion = 1;
if (!in->myInode)
immediateDeletion = 1;
@@
-5487,7
+5492,7
@@
static int yaffs_UnlinkFileIfNeeded(yaffs_Object *in)
in->objectId));
in->deleted = 1;
in->myDev->nDeletedFiles++;
in->objectId));
in->deleted = 1;
in->myDev->nDeletedFiles++;
- if (
1 || in->myD
ev->param.isYaffs2)
+ if (
dev->param.disableSoftDelete || d
ev->param.isYaffs2)
yaffs_ResizeFile(in, 0);
yaffs_SoftDeleteFile(in);
} else {
yaffs_ResizeFile(in, 0);
yaffs_SoftDeleteFile(in);
} else {
@@
-5504,8
+5509,10
@@
int yaffs_DeleteFile(yaffs_Object *in)
{
int retVal = YAFFS_OK;
int deleted = in->deleted;
{
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.
if (in->nDataChunks > 0) {
/* Use soft deletion if there is data in the file.