X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_guts.h;h=0a18dee197eaaeffda542bfc0e9b05afb5b5005a;hp=535a2695d61dd4ba36026b42eadfee8f25dece78;hb=69081134a4d0f5059560e10bc49774b1063a6c87;hpb=8d87e1a358bf0184a82c586d362d994094a1e9ed diff --git a/yaffs_guts.h b/yaffs_guts.h index 535a269..0a18dee 100644 --- a/yaffs_guts.h +++ b/yaffs_guts.h @@ -14,7 +14,7 @@ * * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. * - * $Id: yaffs_guts.h,v 1.14 2005-09-20 05:05:40 charles Exp $ + * $Id: yaffs_guts.h,v 1.17 2005-12-07 21:49:18 charles Exp $ */ #ifndef __YAFFS_GUTS_H__ @@ -325,7 +325,7 @@ union yaffs_Tnode_union { #else union yaffs_Tnode_union *internal[YAFFS_NTNODES_INTERNAL]; #endif - __u16 level0[YAFFS_NTNODES_LEVEL0]; +/* __u16 level0[YAFFS_NTNODES_LEVEL0]; */ }; @@ -533,6 +533,8 @@ struct yaffs_DeviceStruct { */ void (*removeObjectCallback)(struct yaffs_ObjectStruct *obj); + int wideTnodesDisabled; /* Set to disable wide tnodes */ + /* End of stuff that must be set before initialisation. */ @@ -540,6 +542,11 @@ struct yaffs_DeviceStruct { __u16 chunkGroupBits; /* 0 for devices <= 32MB. else log2(nchunks) - 16 */ __u16 chunkGroupSize; /* == 2^^chunkGroupBits */ + + /* Stuff to support wide tnodes */ + __u32 tnodeWidth; + __u32 tnodeMask; + #ifdef __KERNEL__ @@ -562,6 +569,8 @@ struct yaffs_DeviceStruct { /* Block Info */ yaffs_BlockInfo *blockInfo; __u8 *chunkBits; /* bitmap of chunks in use */ + unsigned blockInfoAlt:1; /* was allocated using alternative strategy */ + unsigned chunkBitsAlt:1; /* was allocated using alternative strategy */ int chunkBitmapStride; /* Number of bytes of chunkBits per block. * Must be consistent with nChunksPerBlock. */