From daffb0c61b90abbfc5fd8c335c5b79b0feeff2ab Mon Sep 17 00:00:00 2001 From: charles Date: Tue, 27 Aug 2002 03:31:38 +0000 Subject: [PATCH] *** empty log message *** --- Documentation/yaffs-todo.html | 13 ++- Makefile | 55 ++++++++++- snMakefile | 2 +- yaffs_fileem.c | 13 ++- yaffs_fs.c | 15 ++- yaffs_guts.c | 179 +++++++++++++++++++++++----------- yaffs_mtdif.c | 4 +- yaffs_ramem.c | 4 +- yaffsdev | Bin 113516 -> 118448 bytes yaffsdev.c | 35 ++++++- yaffsdev.proj | Bin 36864 -> 53248 bytes 11 files changed, 243 insertions(+), 77 deletions(-) diff --git a/Documentation/yaffs-todo.html b/Documentation/yaffs-todo.html index 831b2d3..ccef2e8 100644 --- a/Documentation/yaffs-todo.html +++ b/Documentation/yaffs-todo.html @@ -7,7 +7,7 @@ - +

YAFFS Todo as at 21/08/2002

@@ -22,7 +22,7 @@

Tools to be done

    -
  1. +
  2. Dumper and analyser to work off the mtd.

Recently done with no known problems (ie. probably needs significant testing)

@@ -49,16 +49,19 @@ significant testing) the spirit of mkcramfs).

  • Added support for special inodes (pipes, character & block devices, sockets).

    -
  • Added generic read/write support to use page caching.

    +
  • Added generic read/write support to use page caching. + Selectable by configuration of CONFIG_YAFFS_USE_GENERIC_RW.

    Done, but currently known to be broken

      -

      nothing.

      +
    1. If you fill yaffs and then try to copy more files into it, + you end up with a bunch of objxxx files when you do an ls.

    Longer term stuff to do

    1. Discuss improved NAND page interface with mtd group. This has - actually started.

      + actually started. Luc van Oostenryck is also looking at an + alternative layer to mtd.

    2. Pull out all YAFFS_OK and YAFFS_FAIL style errors and return with -ENOMEM style error messages.

    diff --git a/Makefile b/Makefile index 7642d47..fa4c171 100644 --- a/Makefile +++ b/Makefile @@ -16,11 +16,60 @@ ## comment out USE_xxxx if you don't want these features. KERNELDIR = /usr/src/kernel-headers-2.4.18 + +# Configurations... +# Comment out the stuff you don't want. +# + +# CONFIG_YAFFS_RAM_ENABLED. +# This adds the yaffsram file system support. Nice for testing on x86, but uses 2MB of RAM. +# Don't enable for NAND-based targets. + USE_RAM_FOR_TEST = -DCONFIG_YAFFS_RAM_ENABLED + + +# CONFIG_YAFFS_MTD_ENABLED. +# This adds the yaffs file system support for working with a NAND mtd. + USE_MTD = -DCONFIG_YAFFS_MTD_ENABLED -YAFFS_CONFIGS = -DCONFIG_YAFFS_USE_GENERIC_RW -CFLAGS = -D__KERNEL__ -DMODULE $(USE_RAM_FOR_TEST) $(USE_MTD) $(YAFFS_CONFIGS) -I$(KERNELDIR)/include -O2 -Wall +# CONFIG_YAFFS_USE_GENERIC_RW +# Use generic_read/generic_write for reading/writing files. This enables the use of the Linux +# file caching layer. +# +# If you disable this, then caching is disabled and file read/write is direct. + +USE_GENERIC_RW = -DCONFIG_YAFFS_USE_GENERIC_RW + +# CONFIG_YAFFS_USE_HEADER_FILE_SIZE +# When the flash is scanned, two file sizes are constructed: +# * The size taken from the object header for the file. +# * The size figured out by scanning the data chunks. +# If this option is enabled, then the object header size is ued, otherwise the scanned size is used. +# Suggest leaving this disabled. + +#USE_HEADER_FILE_SIZE = -DCONFIG_YAFFS_USE_HEADER_FILE_SIZE + +#CONFIG_YAFFS_DISABLE_CHUNK_ERASED_CHECK +# Enabling this turns off the test that chunks are erased in flash before writing to them. +# this is safe, since the write verification will fail. +# Suggest enabling the test (ie. keep the following line commented) during development to help debug things. + +#IGNORE_CHUNK_ERASED = -DCONFIG_YAFFS_DISABLE_CHUNK_ERASED_CHECK + +#CONFIG_YAFFS_DISABLE_WRITE_VERIFY +# I am severely reluctant to provide this config. Disabling the verification is not a good thing to do +# since NAND writes can fail silently. +# Disabling the write verification will cause your teeth to rot, rats to eat your corn and give you split ends. +# You have been warned. ie. Don't uncomment the following line. + +#IGNORE_WRITE_VERIFY = -DCONFIG_YAFFS_DISBLE_WRITE_VERIFY + +# End of configuration options. + +YAFFS_CONFIGS = $(USE_RAM_FOR_TEST) $(USE_MTD) $(USE_GENERIC_RW) $(USE_HEADER_FILE_SIZE) $(IGNORE_CHUNK_ERASED) $(IGNORE_WRITE_VERIFY) + +CFLAGS = -D__KERNEL__ -DMODULE $(YAFFS_CONFIGS) -I$(KERNELDIR)/include -O2 -Wall OBJS = yaffs_fs.o yaffs_guts.o yaffs_ramem.o yaffs_mtdif.o nand_ecc.o @@ -28,7 +77,7 @@ OBJS = yaffs_fs.o yaffs_guts.o yaffs_ramem.o yaffs_mtdif.o nand_ecc.o all: yaffs.o -$(OBJS): %.o: %.c +$(OBJS): %.o: %.c Makefile gcc -c $(CFLAGS) $< -o $@ yaffs.o: $(OBJS) diff --git a/snMakefile b/snMakefile index 936c08d..dd819c8 100644 --- a/snMakefile +++ b/snMakefile @@ -1,6 +1,6 @@ ######################################################### # Makefile auto generated by Cygnus Source Navigator. -# Target: yaffsdev_disk Date: Aug 21 2002 Time: 03:51:36 PM +# Target: yaffsdev_disk Date: Aug 27 2002 Time: 03:17:30 PM # diff --git a/yaffs_fileem.c b/yaffs_fileem.c index dd77b37..b850581 100644 --- a/yaffs_fileem.c +++ b/yaffs_fileem.c @@ -56,6 +56,16 @@ static int IsAMarkedBadBlock(int blk) static __u8 yaffs_WriteFailCorruption(int chunkInNAND) { + + // Whole blocks that fail + switch(chunkInNAND/YAFFS_CHUNKS_PER_BLOCK) + { + case 50: + case 52: + return 7; + } + + // Single blocks that fail switch(chunkInNAND) { case 2000: @@ -70,9 +80,10 @@ static __u8 yaffs_WriteFailCorruption(int chunkInNAND) case 3006: case 3007: return 1;// ding one bit - default: return 0; } + + return 0; } static void yaffs_ModifyWriteData(int chunkInNAND,__u8 *data) diff --git a/yaffs_fs.c b/yaffs_fs.c index dc70098..d669793 100644 --- a/yaffs_fs.c +++ b/yaffs_fs.c @@ -20,7 +20,7 @@ * * * Acknowledgements: - * * Luc van OostenRyck for O_APPEND patch. + * * Luc van OostenRyck for numerous patches. * * Nick Bane for patches marked NCB. * * Some code bodily lifted from JFFS2. */ @@ -774,7 +774,7 @@ static int yaffs_setattr(struct dentry *dentry, struct iattr *attr) struct inode *inode = dentry->d_inode; int error; - T((KERN_DEBUG"yaffs_setattr\n")); + T((KERN_DEBUG"yaffs_setattr of object %d\n",yaffs_InodeToObject(inode)->objectId)); if((error = inode_change_ok(inode,attr)) == 0) { @@ -831,6 +831,8 @@ static void yaffs_put_super(struct super_block *sb) { dev->putSuperFunc(sb); } + yaffs_Deinitialise(dev); + kfree(dev); } @@ -871,7 +873,7 @@ static struct super_block *yaffs_internal_read_super(int useRam, struct super_bl -#if CONFIG_YAFFS_USE_CHUNK_SIZE +#ifdef CONFIG_YAFFS_USE_CHUNK_SIZE sb->s_blocksize = YAFFS_BYTES_PER_CHUNK; sb->s_blocksize_bits = YAFFS_CHUNK_SIZE_SHIFT; #else @@ -880,6 +882,11 @@ static struct super_block *yaffs_internal_read_super(int useRam, struct super_bl #endif T(("yaffs_read_super: %s block size %d\n", useRam ? "RAM" : "MTD",sb->s_blocksize)); +#ifdef CONFIG_YAFFS_DISABLE_WRITE_VERIFY + T(("yaffs: Write verification disabled. All guarantees null and void\n"); +#endif + + if(useRam) { @@ -1070,7 +1077,7 @@ static int __init init_yaffs_fs(void) int error = 0; printk(KERN_DEBUG "yaffs " __DATE__ " " __TIME__ " Initialisation\n"); -#if CONFIG_YAFFS_USE_GENERIC_RW +#ifdef CONFIG_YAFFS_USE_GENERIC_RW printk(KERN_DEBUG "yaffs is using generic read/write (caching)\n"); #else printk(KERN_DEBUG "yaffs is using direct read/write (uncached)\n"); diff --git a/yaffs_guts.c b/yaffs_guts.c index abb01e2..fa1c9d5 100644 --- a/yaffs_guts.c +++ b/yaffs_guts.c @@ -73,7 +73,7 @@ static int yaffs_PutChunkIntoFile(yaffs_Object *in,int chunkInInode, int chunkIn static yaffs_Object *yaffs_CreateNewObject(yaffs_Device *dev,int number,yaffs_ObjectType type); static void yaffs_AddObjectToDirectory(yaffs_Object *directory, yaffs_Object *obj); -static int yaffs_UpdateObjectHeader(yaffs_Object *in,const char *name); +static int yaffs_UpdateObjectHeader(yaffs_Object *in,const char *name, int force); static void yaffs_DeleteChunk(yaffs_Device *dev,int chunkId); static void yaffs_RemoveObjectFromDirectory(yaffs_Object *obj); static int yaffs_CheckStructures(void); @@ -87,6 +87,7 @@ static void yaffs_HandleUpdateChunk(yaffs_Device *dev,int chunkInNAND, const yaf static int yaffs_CheckChunkErased(struct yaffs_DeviceStruct *dev,int chunkInNAND); +static int yaffs_UnlinkWorker(yaffs_Object *obj); static int yaffs_VerifyCompare(const __u8 *d0, const __u8 * d1, const yaffs_Spare *s0, const yaffs_Spare *s1); @@ -187,7 +188,6 @@ int yaffs_ReadChunkFromNAND(struct yaffs_DeviceStruct *dev,int chunkInNAND, __u8 static int yaffs_CheckChunkErased(struct yaffs_DeviceStruct *dev,int chunkInNAND) { -#if 1 static int init = 0; static __u8 cmpbuf[YAFFS_BYTES_PER_CHUNK]; @@ -208,7 +208,6 @@ static int yaffs_CheckChunkErased(struct yaffs_DeviceStruct *dev,int chunkInNAND if(memcmp(cmpbuf,data,YAFFS_BYTES_PER_CHUNK)) return YAFFS_FAIL; if(memcmp(cmpbuf,spare,16)) return YAFFS_FAIL; -#endif return YAFFS_OK; @@ -244,9 +243,14 @@ static int yaffs_WriteNewChunkToNAND(struct yaffs_DeviceStruct *dev, const __u8 { // First check this chunk is erased... +#ifndef CONFIG_YAFFS_DISABLE_CHUNK_ERASED_CHECK writeOk = yaffs_CheckChunkErased(dev,chunk); - - if(writeOk) +#endif + if(!writeOk) + { + T((TSTR("**>> yaffs chunk %d was not erased" TENDSTR),chunk)); + } + else { writeOk = yaffs_WriteChunkToNAND(dev,chunk,data,spare); } @@ -260,14 +264,15 @@ static int yaffs_WriteNewChunkToNAND(struct yaffs_DeviceStruct *dev, const __u8 // NB We check a raw read without ECC correction applied yaffs_ReadChunkFromNAND(dev,chunk,rbData,&rbSpare,0); +#ifndef CONFIG_YAFFS_DISABLE_WRITE_VERIFY if(!yaffs_VerifyCompare(data,rbData,spare,&rbSpare)) { // Didn't verify - T((TSTR("**>> yaffs write failed on chunk %d" TENDSTR), chunk)); - // yaffs_DeleteChunk(dev,chunk); + T((TSTR("**>> yaffs write verify failed on chunk %d" TENDSTR), chunk)); writeOk = 0; - } + } +#endif } if(writeOk) @@ -327,12 +332,19 @@ static int yaffs_RewriteBufferedBlock(yaffs_Device *dev) // Set current write block to the new block dev->doingBufferedBlockRewrite = 0; + + return 1; } static void yaffs_HandleReadDataError(yaffs_Device *dev,int chunkInNAND) { - + int blockInNAND = chunkInNAND/YAFFS_CHUNKS_PER_BLOCK; + + // Mark the block for retirement + dev->blockInfo[blockInNAND].needsRetiring = 1; + + //TODO // Just do a garbage collection on the affected block then retire the block // NB recursion } @@ -352,6 +364,12 @@ static void yaffs_HandleUpdateChunk(yaffs_Device *dev,int chunkInNAND, const yaf static void yaffs_HandleWriteChunkError(yaffs_Device *dev,int chunkInNAND) { + int blockInNAND = chunkInNAND/YAFFS_CHUNKS_PER_BLOCK; + + // Mark the block for retirement + dev->blockInfo[blockInNAND].needsRetiring = 1; + // Delete the chunk + yaffs_DeleteChunk(dev,chunkInNAND); } @@ -360,6 +378,7 @@ static void yaffs_HandleWriteChunkError(yaffs_Device *dev,int chunkInNAND) static int yaffs_VerifyCompare(const __u8 *d0, const __u8 * d1, const yaffs_Spare *s0, const yaffs_Spare *s1) { + if( memcmp(d0,d1,YAFFS_BYTES_PER_CHUNK) != 0 || s0->tagByte0 != s1->tagByte0 || s0->tagByte1 != s1->tagByte1 || @@ -1411,7 +1430,7 @@ yaffs_Object *yaffs_MknodObject( yaffs_ObjectType type, break; } - if(yaffs_UpdateObjectHeader(in,name) < 0) + if(yaffs_UpdateObjectHeader(in,name,0) < 0) { // Could not create the object header, fail the creation yaffs_UnlinkWorker(in); @@ -1479,7 +1498,7 @@ static int yaffs_ChangeObjectName(yaffs_Object *obj, yaffs_Object *newDir, const obj->dirty = 1; yaffs_AddObjectToDirectory(newDir,obj); - if(yaffs_UpdateObjectHeader(obj,newName) >= 0) + if(yaffs_UpdateObjectHeader(obj,newName,0) >= 0) { return YAFFS_OK; } @@ -1638,21 +1657,52 @@ static int yaffs_FindDirtiestBlock(yaffs_Device *dev) } -static int yaffs_FindBlockForAllocation(yaffs_Device *dev,int useReserve) +static void yaffs_BlockBecameDirty(yaffs_Device *dev,int blockNo) +{ + yaffs_BlockInfo *bi = &dev->blockInfo[blockNo]; + + int erasedOk = 0; + + // If the block is still healthy erase it and mark as clean. + // If the block has had a data failure, then retire it. + bi->blockState = YAFFS_BLOCK_STATE_DIRTY; + + if(!bi->needsRetiring) + { + erasedOk = yaffs_EraseBlockInNAND(dev,blockNo); + if(!erasedOk) + { + T((TSTR("**>> Erasure failed %d" TENDSTR),blockNo)); + } + } + + if( erasedOk ) + { + bi->blockState = YAFFS_BLOCK_STATE_EMPTY; + dev->nErasedBlocks++; + bi->pagesInUse = 0; + bi->pageBits = 0; + + T((TSTR("Erased block %d" TENDSTR),blockNo)); + } + else + { + yaffs_RetireBlock(dev,blockNo); + T((TSTR("**>> Block %d retired" TENDSTR),blockNo)); + } +} + + +static int yaffs_FindBlockForAllocation(yaffs_Device *dev) { int i; - if(useReserve && dev->nErasedBlocks < 1) + if(dev->nErasedBlocks < 1) { // Hoosterman we've got a problem. // Can't get space to gc return -1; } - else if(!useReserve && dev->nErasedBlocks <= YAFFS_RESERVED_BLOCKS) - { - // We are not in GC, so we hold some in reserve so we can get - // a gc done. - } // Find an empty block. @@ -1676,31 +1726,6 @@ static int yaffs_FindBlockForAllocation(yaffs_Device *dev,int useReserve) } -static void yaffs_BlockBecameDirty(yaffs_Device *dev,int blockNo) -{ - yaffs_BlockInfo *bi = &dev->blockInfo[blockNo]; - - // Mark as dirty. - // If the block is still healthy erase it and mark as clean. - // If the block has had a data failure, then retire it. - bi->blockState = YAFFS_BLOCK_STATE_DIRTY; - - if(!bi->needsRetiring && yaffs_EraseBlockInNAND(dev,blockNo)) - { - bi->blockState = YAFFS_BLOCK_STATE_EMPTY; - dev->nErasedBlocks++; - bi->pagesInUse = 0; - bi->pageBits = 0; - - T((TSTR("Erased block %d" TENDSTR),blockNo)); - } - else - { - yaffs_RetireBlock(dev,blockNo); - T((TSTR("**>> Block %d retired" TENDSTR),blockNo)); - } -} - static int yaffs_AllocateChunk(yaffs_Device *dev,int useReserve) { @@ -1709,10 +1734,16 @@ static int yaffs_AllocateChunk(yaffs_Device *dev,int useReserve) if(dev->allocationBlock < 0) { // Get next block to allocate off - dev->allocationBlock = yaffs_FindBlockForAllocation(dev,useReserve); + dev->allocationBlock = yaffs_FindBlockForAllocation(dev); dev->allocationPage = 0; } + if(!useReserve && dev->nErasedBlocks <= YAFFS_RESERVED_BLOCKS) + { + // Not enough space to allocate unless we're allowed to use the reserve. + return -1; + } + // Next page please.... if(dev->allocationBlock >= 0) { @@ -1733,12 +1764,7 @@ static int yaffs_AllocateChunk(yaffs_Device *dev,int useReserve) dev->allocationBlock = -1; } -#ifdef YAFFS_PARANOID - if(yaffs_CheckChunkErased(dev,retVal) == YAFFS_FAIL) - { - T((TSTR("..................Trying to allocate non-erased page %d" TENDSTR),retVal)); - } -#endif + return retVal; } @@ -2373,7 +2399,7 @@ int yaffs_WriteChunkDataToObject(yaffs_Object *in,int chunkInInode, const __u8 * // UpdateObjectHeader updates the header on NAND for an object. // If name is not NULL, then that new name is used. // -int yaffs_UpdateObjectHeader(yaffs_Object *in,const char *name) +int yaffs_UpdateObjectHeader(yaffs_Object *in,const char *name, int force) { yaffs_Device *dev = in->myDev; @@ -2388,7 +2414,7 @@ int yaffs_UpdateObjectHeader(yaffs_Object *in,const char *name) yaffs_ObjectHeader *oh = (yaffs_ObjectHeader *)bufferNew; yaffs_ObjectHeader *ohOld = (yaffs_ObjectHeader *)bufferOld; - if(!in->fake) + if(!in->fake || force) { yaffs_CheckGarbageCollection(dev); @@ -2413,17 +2439,29 @@ int yaffs_UpdateObjectHeader(yaffs_Object *in,const char *name) oh->st_ctime = in->st_ctime; oh->st_rdev = in->st_rdev; - oh->parentObjectId = in->parent->objectId; + if(in->parent) + { + oh->parentObjectId = in->parent->objectId; + } + else + { + oh->parentObjectId = 0; + } + oh->sum = in->sum; if(name && *name) { memset(oh->name,0,YAFFS_MAX_NAME_LENGTH + 1); strncpy(oh->name,name,YAFFS_MAX_NAME_LENGTH); } - else + else if(prevChunkId) { memcpy(oh->name, ohOld->name,YAFFS_MAX_NAME_LENGTH + 1); } + else + { + memset(oh->name,0,YAFFS_MAX_NAME_LENGTH + 1); + } switch(in->variantType) { @@ -2746,7 +2784,7 @@ int yaffs_FlushFile(yaffs_Object *in) in->st_mtime = CURRENT_TIME; - retVal = yaffs_UpdateObjectHeader(in,NULL); + retVal = yaffs_UpdateObjectHeader(in,NULL,0); } else { @@ -2896,7 +2934,7 @@ static int yaffs_UnlinkWorker(yaffs_Object *obj) yaffs_HashObject(hl); // Update the hardlink which has become an object - yaffs_UpdateObjectHeader(hl,NULL); + yaffs_UpdateObjectHeader(hl,NULL,0); // Finally throw away the deleted object yaffs_DeleteChunk(obj->myDev,obj->chunkId); @@ -3117,6 +3155,11 @@ static int yaffs_Scan(yaffs_Device *dev) if(in->variant.fileVariant.scannedFileSize variant.fileVariant.scannedFileSize = endpos; +#ifndef CONFIG_YAFFS_USE_HEADER_FILE_SIZE + in->variant.fileVariant.fileSize = + in->variant.fileVariant.scannedFileSize; +#endif + } //T((" %d %d data %d %d\n",blk,c,tags.objectId,tags.chunkId)); } @@ -3153,7 +3196,25 @@ static int yaffs_Scan(yaffs_Device *dev) } } - if(!in->valid) + if(!in->valid && + (tags.objectId == YAFFS_OBJECTID_ROOT || + tags.objectId == YAFFS_OBJECTID_LOSTNFOUND)) + { + // We only load some info, don't fiddle with directory structure + in->valid = 1; + in->variantType = oh->type; + + in->st_mode = oh->st_mode; + in->st_uid = oh->st_uid; + in->st_gid = oh->st_gid; + in->st_atime = oh->st_atime; + in->st_mtime = oh->st_mtime; + in->st_ctime = oh->st_ctime; + in->st_rdev = oh->st_rdev; + in->chunkId = chunk; + + } + else if(!in->valid) { // we need to load this info @@ -3202,7 +3263,9 @@ static int yaffs_Scan(yaffs_Device *dev) case YAFFS_OBJECT_TYPE_UNKNOWN: // Todo got a problem break; case YAFFS_OBJECT_TYPE_FILE: +#ifdef CONFIG_YAFFS_USE_HEADER_FILE_SIZE in->variant.fileVariant.fileSize = oh->fileSize; +#endif break; case YAFFS_OBJECT_TYPE_HARDLINK: in->variant.hardLinkVariant.equivalentObjectId = oh->equivalentObjectId; @@ -3496,7 +3559,7 @@ int yaffs_SetAttributes(yaffs_Object *obj, struct iattr *attr) if(valid & ATTR_SIZE) yaffs_ResizeFile(obj,attr->ia_size); - yaffs_UpdateObjectHeader(obj,NULL); + yaffs_UpdateObjectHeader(obj,NULL,1); return YAFFS_OK; diff --git a/yaffs_mtdif.c b/yaffs_mtdif.c index 3f1e924..7f74b6f 100644 --- a/yaffs_mtdif.c +++ b/yaffs_mtdif.c @@ -12,7 +12,7 @@ * published by the Free Software Foundation. * */ - #ifdef YAFFS_MTD_ENABLED +#ifdef CONFIG_YAFFS_MTD_ENABLED #include "yportenv.h" @@ -100,5 +100,5 @@ int nandmtd_InitialiseNAND(yaffs_Device *dev) return YAFFS_OK; } -#endif // YAFFS_MTD_ENABLED +#endif // CONFIG_YAFFS_MTD_ENABLED diff --git a/yaffs_ramem.c b/yaffs_ramem.c index 2c8d0bc..2aebfe9 100644 --- a/yaffs_ramem.c +++ b/yaffs_ramem.c @@ -16,10 +16,10 @@ // Since this creates the RAM block at start up it is pretty useless for testing the scanner. #ifndef __KERNEL__ -#define YAFFS_RAM_ENABLED +#define CONFIG_YAFFS_RAM_ENABLED #endif -#ifdef YAFFS_RAM_ENABLED +#ifdef CONFIG_YAFFS_RAM_ENABLED #include "yportenv.h" diff --git a/yaffsdev b/yaffsdev index 551fec2a0d6716be1461e4a817d5cac6202fa002..b217ad6fd7c425f2717d4fa0b826d8ff227d6deb 100755 GIT binary patch literal 118448 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%0Atyq=Jr|^`_`v< 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 literal 113516 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 diff --git a/yaffsdev.c b/yaffsdev.c index 23d8f0c..ff4b7e6 100644 --- a/yaffsdev.c +++ b/yaffsdev.c @@ -160,8 +160,41 @@ void TestTime(yaffs_Device *dev) printf("Start\n"); - + // Test the problem of: + // Create file + // Delete file + // Create file with same name + // Delete file <== crash + f = yaffs_FindObjectByName(yaffs_Root(dev),"Name1"); + if(f) + { + printf("Found\n"); + } + else + { + f = yaffs_MknodFile(yaffs_Root(dev),"Name1",0,0,0); + printf("Created\n"); + } + yaffs_Unlink(yaffs_Root(dev),"Name1"); + + + f = yaffs_FindObjectByName(yaffs_Root(dev),"Name1"); + if(f) + { + printf("Found\n"); + } + else + { + f = yaffs_MknodFile(yaffs_Root(dev),"Name1",0,0,0); + printf("Created\n"); + } + yaffs_Unlink(yaffs_Root(dev),"Name1"); + + + + // Other tests + f = yaffs_FindObjectByName(yaffs_Root(dev),"Name1"); if(f) { diff --git a/yaffsdev.proj b/yaffsdev.proj index e57aca8e3e8ba2d3e1c89298ce0f4cc8bbfedba2..c0bc23340855fb929289433cbb566494900fe0ae 100644 GIT binary patch delta 7612 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 Y|CXj-ky%qk{*T(|l_);3yStY94=X~lPXGV_ delta 2365 zcmaJ?e{3699nam_ncMo^IZpGVZIZsWY3BTBdUl;9W$l(UaY9(@1SeV2mgIUlpY5yd zb2y)!rk>|^lR#6qmgXxowsl#yPDuL)DE?z0gsQQLifK^BK%i-wG+=;)#@Yd5lP1D@ zKBr9^;H0PTeSf^q`@HXczu!Bv%$-?gzj5y#wxXiKM%F!Kab&fxtbBHeNamY*{trab zhsIDJck%7HD{q8_8iPN^Pw`*oNB9T%gM16$%>M~B7Z18#M_`<92HZ3PV%_fIx0+&1 z!C&#Aa8-CwSQZ`=&I+<{LO3WK5OxVWg?oh0`QP)u;=j*d;VriAEWotYp95>pqJ1xdJ;W>^2kIInnocsih7ZVwxBv>NB?$y>b&MWO4e5Alg^b* z8Ry%Z9&%pZw8QyGv4909pD`3wm$Q3B?DPA(VX32iXD+>voHcL{_T4AqeSRhnpe9rrW`PW-Sxr&P%ArI`i4Wr;*_f51Bt$jjv>L{ml-5qGSV<+5 znn}5&y`9*Y9h;L4buUg+frILNKbD4d&D3y6mBVG zT+=*cPP-kEFiwVX#DH@%xKh(iob!O3t%o;e+{Eu%oZRK=kEu$W-p*8YiUy73@_&g} z!DCVl#o1WCGPyp8lfE@7*$p?QDxpcbcNIHR=wn);>1ZACZ49ZVW~i%}Yt^$-ErqVM z5(KWPuJS9{wqab3rjN*`5~Ii6*63-kwboN3l|*%oX3YLrMvo8cW@?apO6pr@r29sW z*&%nh3a(A~AbYqLely)zbF^=8a7;QpGBzF@9GM6XNWs1%0YYW(fA=g-Hahz!LZLu# zTpAy?BJVIzLiFPd$fi7Kq>{G?-EE|V-a5X)7L=1E#%M@2X^AN&wNUTGaSfi9pm2;d z{a(J4cku%MG5Q<2hJK2^jh4_ER6qt=a)R@m^HFEU7PbAD6#VzN%iQDaSJ?!6f}LSQ zY%l9$+t}@FBP*~D_Fv3DnD?3Yn75cWnIAH*GOsW%GnbfW83$SKuo}0_et}zH>$p+& z6SkGT&VI&RhF4D91V%mp2WH*yGv&GBJHOb&KydcwO_|jKPYtQMYG{hZzf}EN3SMk( zsvcPHg7fhX=Y*cn^!Q}Th^q$l#v1Q3w0Z1D;(96!*VSF+w-vP$;`7ze7i)m0)Acae zwiO=N9)Q0`yX&LbGLuq~rshafnOaIu!!xmM?z?QBXcoLJyPdaMjaD>?gUl&60o@5x zrjs7Bsocc0vY@xk1HYbhQKpt8x}-F~8IK*VHt%ZIvN&fod$|)yPwJ`~PM3;b)1!GT zf>*8Cafi{PWn1qU3#66ddSv%z+Ka0bB9%yxny}L8E_LZ09-2*fcVRP}J2?eXbduGw zAZ2SB!YOjHb?ouVZ>gJ1I*Yk}1BzJ;4S==yJ&oOcMAg~>z z{%s&GR625}3^jstIoOfzE?%6M9WXak4L>4dtbf356ZeT-u>BFtirw&NwiZ5$yW!7) z-S87bD&e#jO0`l-6VByVYbxETU{MtPeqX2P?ZRm~sU{HJ8fykt}r#bWOD^>h;cxHS1QQkm+ympt})eQQoy zhfGr4&RcCUNbXKY99$gQjJx;I%y=z)>x$MSpb6;q-v`f|b&gv*J_zir%Y;`)N9j*_ V+ZV2d%VyQ>U@^C)_(_3x{RczSDEa^Z -- 2.30.2