From: charles Date: Wed, 20 Aug 2003 03:53:39 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=commitdiff_plain;ds=inline;h=45172fe9a1f7fcee9a79d2543221292b83bec6f6;hp=2f1fbd5011ef15fa3d1c95dc24dcc656a9aa9b5f;p=yaffs%2F.git *** empty log message *** --- diff --git a/Makefile b/Makefile index 69ca817..e748baa 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. # -# $Id: Makefile,v 1.11 2003-05-20 22:30:35 charles Exp $ +# $Id: Makefile,v 1.12 2003-08-20 03:53:39 charles Exp $ # ## Change or override KERNELDIR to your kernel diff --git a/yaffs_fs.c b/yaffs_fs.c index db59c23..637f7fd 100644 --- a/yaffs_fs.c +++ b/yaffs_fs.c @@ -28,7 +28,7 @@ */ -const char *yaffs_fs_c_version = "$Id: yaffs_fs.c,v 1.27 2003-08-16 08:17:32 charles Exp $"; +const char *yaffs_fs_c_version = "$Id: yaffs_fs.c,v 1.28 2003-08-20 03:53:39 charles Exp $"; extern const char *yaffs_guts_c_version; @@ -523,7 +523,6 @@ static void yaffs_FillInodeFromObject(struct inode *inode, yaffs_Object *obj) inode->i_uid = obj->st_uid; inode->i_gid = obj->st_gid; inode->i_blksize = inode->i_sb->s_blocksize; - inode->i_blocks = 0; #if defined(CONFIG_KERNEL_2_5) inode->i_rdev = to_kdev_t(obj->st_rdev); inode->i_atime.tv_sec = (time_t)(obj->st_atime); @@ -539,6 +538,8 @@ static void yaffs_FillInodeFromObject(struct inode *inode, yaffs_Object *obj) inode->i_ctime = obj->st_ctime; #endif inode->i_size = yaffs_GetObjectFileLength(obj); + inode->i_blocks = (inode->i_size + inode->i_blksize - 1) >> inode->i_sb->s_blocksize_bits; + inode->i_nlink = yaffs_GetObjectLinkCount(obj); T(YAFFS_TRACE_OS,(KERN_DEBUG"yaffs_FillInode mode %x uid %d gid %d size %d count %d\n", diff --git a/yaffs_guts.c b/yaffs_guts.c index 5cbd371..7afb140 100644 --- a/yaffs_guts.c +++ b/yaffs_guts.c @@ -14,7 +14,7 @@ */ //yaffs_guts.c -const char *yaffs_guts_c_version="$Id: yaffs_guts.c,v 1.27 2003-08-16 08:17:32 charles Exp $"; +const char *yaffs_guts_c_version="$Id: yaffs_guts.c,v 1.28 2003-08-20 03:53:39 charles Exp $"; #include "yportenv.h" @@ -782,11 +782,16 @@ static void yaffs_FreeTnode(yaffs_Device*dev, yaffs_Tnode *tn) static void yaffs_DeinitialiseTnodes(yaffs_Device*dev) { // Free the list of allocated tnodes - + yaffs_TnodeList *tmp; + while(dev->allocatedTnodeList) { + tmp = dev->allocatedTnodeList->next; + YFREE(dev->allocatedTnodeList->tnodes); - dev->allocatedTnodeList = dev->allocatedTnodeList->next; + YFREE(dev->allocatedTnodeList); + dev->allocatedTnodeList = tmp; + } dev->freeTnodes = NULL; @@ -1452,10 +1457,15 @@ static void yaffs_DeinitialiseObjects(yaffs_Device *dev) { // Free the list of allocated Objects + yaffs_ObjectList *tmp; + while( dev->allocatedObjectList) { + tmp = dev->allocatedObjectList->next; YFREE(dev->allocatedObjectList->objects); - dev->allocatedObjectList = dev->allocatedObjectList->next; + YFREE(dev->allocatedObjectList); + + dev->allocatedObjectList = tmp; } dev->freeObjects = NULL; diff --git a/yaffsdev.proj b/yaffsdev.proj index 28f3ae7..d93143d 100644 Binary files a/yaffsdev.proj and b/yaffsdev.proj differ