X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=yaffs_guts.h;h=03f8d0de9bca39b8f606288fe24fcae66052fa7e;hb=8d2f9766d282056fa46fabe30100cb61f2106694;hp=769dcc50adc2a7706012569b9d54c96bc8dbc64e;hpb=1dea37b139c892671df123e8ad4204ab4dc20fa5;p=yaffs%2F.git diff --git a/yaffs_guts.h b/yaffs_guts.h index 769dcc5..03f8d0d 100644 --- a/yaffs_guts.h +++ b/yaffs_guts.h @@ -14,14 +14,13 @@ * * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. * - * $Id: yaffs_guts.h,v 1.16 2003-01-31 03:30:33 charles Exp $ + * $Id: yaffs_guts.h,v 1.19 2005-03-29 22:43:38 charles Exp $ */ #ifndef __YAFFS_GUTS_H__ #define __YAFFS_GUTS_H__ -#include "devextras.h" - +#include "yportenv.h" #define YAFFS_OK 1 #define YAFFS_FAIL 0 @@ -163,8 +162,8 @@ typedef struct #ifndef CONFIG_YAFFS_NO_YAFFS2 __u32 sequenceNumber; // block sequence number for yaffs2 #endif - int softDeletions:8; // number of soft deleted pages - int pagesInUse:8; // number of pages in use + int softDeletions:12; // number of soft deleted pages + int pagesInUse:12; // number of pages in use __u32 blockState:4; // One of the above block states __u32 needsRetiring:1; // Data has failed on this block, need to get valid data off // and retire the block. @@ -361,6 +360,8 @@ struct yaffs_ObjectStruct #ifdef __KERNEL__ struct inode *myInode; + __u8 deferedFree; // YAFFS has removed the object from NAND, but it is being kept + // Alive until the inode is cleared to prevent inode inconsistencies. #endif @@ -576,6 +577,9 @@ yaffs_Object *yaffs_LostNFound(yaffs_Device *dev); void yfsd_WinFileTimeNow(__u32 target[2]); #endif +#ifdef __KERNEL__ +void yaffs_HandleDeferedFree(yaffs_Object *obj); +#endif // Debug dump int yaffs_DumpObject(yaffs_Object *obj); @@ -586,3 +590,4 @@ void yaffs_GutsTest(yaffs_Device *dev); #endif +