Soft deletion was disabled because it messed up yaffs2 mode.
Soft deletion is not very valuable for yaffs2 mode, but has been
re-enabled for yaffs1 mode where it is far more value.
Also added a parameter to disable soft delete.
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
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;
in->objectId));
in->deleted = 1;
in->myDev->nDeletedFiles++;
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 {
yaffs_ResizeFile(in, 0);
yaffs_SoftDeleteFile(in);
} else {
{
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.
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 */
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 */
+ int disableSoftDelete; /* yaffs 1 only: Set to disable the use of softdeletion. */
int deferDirectoryUpdate; /* Set to defer directory updates */
int deferDirectoryUpdate; /* Set to defer directory updates */