changeset 110:05d88b61a734

Fix deleted hardlink handling
author charles <charles>
date Mon, 19 Dec 2005 21:46:07 +0000
parents b9876f8c4b48
children 8e65d50025e8
files yaffs_guts.c
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/yaffs_guts.c
+++ b/yaffs_guts.c
@@ -13,7 +13,7 @@
  */
 
 const char *yaffs_guts_c_version =
-    "$Id: yaffs_guts.c,v 1.25 2005-12-08 00:51:15 charles Exp $";
+    "$Id: yaffs_guts.c,v 1.26 2005-12-19 21:46:07 charles Exp $";
 
 #include "yportenv.h"
 
@@ -4894,11 +4894,13 @@ static int yaffs_ScanBackwards(yaffs_Dev
 
 						break;
 					case YAFFS_OBJECT_TYPE_HARDLINK:
-						in->variant.hardLinkVariant.equivalentObjectId =
+						if(!in->deleted) {
+						  in->variant.hardLinkVariant.equivalentObjectId =
 						    oh->equivalentObjectId;
-						in->hardLinks.next =
+						  in->hardLinks.next =
 						    (struct list_head *) hardList;
-						hardList = in;
+						  hardList = in;
+						}
 						break;
 					case YAFFS_OBJECT_TYPE_DIRECTORY:
 						/* Do nothing */