projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't mark objects deleted during scanning
[yaffs2.git]
/
yaffs_guts.c
diff --git
a/yaffs_guts.c
b/yaffs_guts.c
index c5be37ff748c02f431dde13b2ad10f7186737cfd..7d9fd4122669909035080897c9dcb2bc2df35e9f 100644
(file)
--- a/
yaffs_guts.c
+++ b/
yaffs_guts.c
@@
-13,7
+13,7
@@
*/
const char *yaffs_guts_c_version =
*/
const char *yaffs_guts_c_version =
- "$Id: yaffs_guts.c,v 1.2
6 2005-12-19 21:46:07
charles Exp $";
+ "$Id: yaffs_guts.c,v 1.2
7 2005-12-20 04:02:18
charles Exp $";
#include "yportenv.h"
#include "yportenv.h"
@@
-4437,7
+4437,7
@@
static int yaffs_ScanBackwards(yaffs_Device * dev)
yaffs_Object *in;
yaffs_Object *parent;
int nBlocks = dev->internalEndBlock - dev->internalStartBlock + 1;
yaffs_Object *in;
yaffs_Object *parent;
int nBlocks = dev->internalEndBlock - dev->internalStartBlock + 1;
-
+ int itsUnlinked;
__u8 *chunkData;
yaffs_BlockIndex *blockIndex = NULL;
__u8 *chunkData;
yaffs_BlockIndex *blockIndex = NULL;
@@
-4847,11
+4847,8
@@
static int yaffs_ScanBackwards(yaffs_Device * dev)
yaffs_AddObjectToDirectory(parent, in);
yaffs_AddObjectToDirectory(parent, in);
- if ((parent == dev->deletedDir ||
- parent == dev->unlinkedDir)) {
- /* If it is unlinked at start up then it wants deleting */
- in->deleted = 1;
- }
+ itsUnlinked = (parent == dev->deletedDir) ||
+ (parent == dev->unlinkedDir);
if (oh->isShrink) {
/* Mark the block as having a shrinkHeader */
if (oh->isShrink) {
/* Mark the block as having a shrinkHeader */
@@
-4894,7
+4891,7
@@
static int yaffs_ScanBackwards(yaffs_Device * dev)
break;
case YAFFS_OBJECT_TYPE_HARDLINK:
break;
case YAFFS_OBJECT_TYPE_HARDLINK:
- if(!i
n->delet
ed) {
+ if(!i
tsUnlink
ed) {
in->variant.hardLinkVariant.equivalentObjectId =
oh->equivalentObjectId;
in->hardLinks.next =
in->variant.hardLinkVariant.equivalentObjectId =
oh->equivalentObjectId;
in->hardLinks.next =