diff options
Diffstat (limited to 'fs/yaffs2/yaffs_guts.h')
| -rw-r--r-- | fs/yaffs2/yaffs_guts.h | 112 | 
1 files changed, 56 insertions, 56 deletions
| diff --git a/fs/yaffs2/yaffs_guts.h b/fs/yaffs2/yaffs_guts.h index ecf701f5a..1f75efd09 100644 --- a/fs/yaffs2/yaffs_guts.h +++ b/fs/yaffs2/yaffs_guts.h @@ -1,5 +1,5 @@  /* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system.  + * YAFFS: Yet another Flash File System . A NAND-flash specific file system.   *   * Copyright (C) 2002-2007 Aleph One Ltd.   *   for Toby Churchill Ltd and Brightstar Engineering @@ -22,11 +22,11 @@  #define YAFFS_OK	1  #define YAFFS_FAIL  0 -/* Give us a  Y=0x59,  - * Give us an A=0x41,  - * Give us an FF=0xFF  +/* Give us a  Y=0x59, + * Give us an A=0x41, + * Give us an FF=0xFF   * Give us an S=0x53 - * And what have we got...  + * And what have we got...   */  #define YAFFS_MAGIC			0x5941FF53 @@ -102,7 +102,7 @@   * The range is limited slightly to help distinguish bad numbers from good.   * This also allows us to perhaps in the future use special numbers for   * special purposes. - * EFFFFF00 allows the allocation of 8 blocks per second (~1Mbytes) for 15 years,  + * EFFFFF00 allows the allocation of 8 blocks per second (~1Mbytes) for 15 years,   * and is a larger number than the lifetime of a 2GB device.   */  #define YAFFS_LOWEST_SEQUENCE_NUMBER	0x00001000 @@ -178,7 +178,7 @@ typedef struct {  	/* The following stuff only has meaning when we read */  	yaffs_ECCResult eccResult; -	unsigned blockBad;	 +	unsigned blockBad;  	/* YAFFS 1 stuff */  	unsigned chunkDeleted;	/* The chunk is marked deleted */ @@ -244,29 +244,29 @@ typedef enum {  	/* This block is empty */  	YAFFS_BLOCK_STATE_ALLOCATING, -	/* This block is partially allocated.  +	/* This block is partially allocated.  	 * At least one page holds valid data.  	 * This is the one currently being used for page  	 * allocation. Should never be more than one of these  	 */ -	YAFFS_BLOCK_STATE_FULL,	 +	YAFFS_BLOCK_STATE_FULL,  	/* All the pages in this block have been allocated.  	 */  	YAFFS_BLOCK_STATE_DIRTY, -	/* All pages have been allocated and deleted.  +	/* All pages have been allocated and deleted.  	 * Erase me, reuse me.  	 */ -	YAFFS_BLOCK_STATE_CHECKPOINT,	 +	YAFFS_BLOCK_STATE_CHECKPOINT,  	/* This block is assigned to holding checkpoint data.  	 */ -	YAFFS_BLOCK_STATE_COLLECTING,	 +	YAFFS_BLOCK_STATE_COLLECTING,  	/* This block is being garbage collected */ -	YAFFS_BLOCK_STATE_DEAD	 +	YAFFS_BLOCK_STATE_DEAD  	/* This block has failed and is not in use */  } yaffs_BlockState; @@ -279,11 +279,11 @@ typedef struct {  	int pagesInUse:10;	/* number of pages in use */  	unsigned blockState:4;	/* One of the above block states. NB use unsigned because enum is sometimes an int */  	__u32 needsRetiring:1;	/* Data has failed on this block, need to get valid data off */ -                        	/* and retire the block. */ +				/* and retire the block. */  	__u32 skipErasedCheck: 1; /* If this is set we can skip the erased check on this block */ -	__u32 gcPrioritise: 1; 	/* An ECC check or blank check has failed on this block.  +	__u32 gcPrioritise: 1; 	/* An ECC check or blank check has failed on this block.  				   It should be prioritised for GC */ -        __u32 chunkErrorStrikes:3; /* How many times we've had ecc etc failures on this block and tried to reuse it */ +	__u32 chunkErrorStrikes:3; /* How many times we've had ecc etc failures on this block and tried to reuse it */  #ifdef CONFIG_YAFFS_YAFFS2  	__u32 hasShrinkHeader:1; /* This block has at least one shrink object header */ @@ -408,7 +408,7 @@ struct yaffs_ObjectStruct {  	__u8 renameAllowed:1;	/* Some objects are not allowed to be renamed. */  	__u8 unlinkAllowed:1;  	__u8 dirty:1;		/* the object needs to be written to flash */ -	__u8 valid:1;		/* When the file system is being loaded up, this  +	__u8 valid:1;		/* When the file system is being loaded up, this  				 * object might be created before the data  				 * is available (ie. file data records appear before the header).  				 */ @@ -430,11 +430,11 @@ struct yaffs_ObjectStruct {  	/* directory structure stuff */  	/* also used for linking up the free list */ -	struct yaffs_ObjectStruct *parent;  +	struct yaffs_ObjectStruct *parent;  	struct list_head siblings;  	/* Where's my object header in NAND? */ -	int chunkId;		 +	int chunkId;  	int nDataChunks;	/* Number of data chunks attached to the file. */ @@ -491,26 +491,26 @@ typedef struct {  } yaffs_ObjectBucket; -/* yaffs_CheckpointObject holds the definition of an object as dumped  +/* yaffs_CheckpointObject holds the definition of an object as dumped   * by checkpointing.   */  typedef struct { -        int structType; -	__u32 objectId;		 +	int structType; +	__u32 objectId;  	__u32 parentId;  	int chunkId; -			 +  	yaffs_ObjectType variantType:3; -	__u8 deleted:1;		 -	__u8 softDeleted:1;	 -	__u8 unlinked:1;	 -	__u8 fake:1;		 +	__u8 deleted:1; +	__u8 softDeleted:1; +	__u8 unlinked:1; +	__u8 fake:1;  	__u8 renameAllowed:1;  	__u8 unlinkAllowed:1; -	__u8 serial;		 -	 -	int nDataChunks;	 +	__u8 serial; + +	int nDataChunks;  	__u32 fileSizeOrEquivalentObjectId;  }yaffs_CheckpointObject; @@ -540,14 +540,14 @@ struct yaffs_DeviceStruct {  	int endBlock;		/* End block we're allowed to use */  	int nReservedBlocks;	/* We want this tuneable so that we can reduce */  				/* reserved blocks on NOR and RAM. */ -	 -	 + +  	/* Stuff used by the shared space checkpointing mechanism */  	/* If this value is zero, then this mechanism is disabled */ -	 +  	int nCheckpointReservedBlocks; /* Blocks to reserve for checkpoint data */ -	 +  	int nShortOpCaches;	/* If <= 0, then short op caching is disabled, else @@ -561,8 +561,8 @@ struct yaffs_DeviceStruct {  	void *genericDevice;	/* Pointer to device context  				 * On an mtd this holds the mtd pointer.  				 */ -        void *superBlock; -         +	void *superBlock; +  	/* NAND access functions (Must be set before calling YAFFS)*/  	int (*writeChunkToNAND) (struct yaffs_DeviceStruct * dev, @@ -588,21 +588,21 @@ struct yaffs_DeviceStruct {  #endif  	int isYaffs2; -	 -	/* The removeObjectCallback function must be supplied by OS flavours that  + +	/* The removeObjectCallback function must be supplied by OS flavours that  	 * need it. The Linux kernel does not use this, but yaffs direct does use  	 * it to implement the faster readdir  	 */  	void (*removeObjectCallback)(struct yaffs_ObjectStruct *obj); -	 +  	/* Callback to mark the superblock dirsty */  	void (*markSuperBlockDirty)(void * superblock); -	 +  	int wideTnodesDisabled; /* Set to disable wide tnodes */ -	 +  	/* End of stuff that must be set before initialisation. */ -	 +  	/* Checkpoint control. Can be set before or after initialisation */  	__u8 skipCheckpointRead;  	__u8 skipCheckpointWrite; @@ -611,21 +611,21 @@ 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; -	 +  	/* Stuff to support various file offses to chunk/offset translations */  	/* "Crumbs" for nDataBytesPerChunk not being a power of 2 */  	__u32 crumbMask;  	__u32 crumbShift;  	__u32 crumbsPerChunk; -	 +  	/* Straight shifting for nDataBytesPerChunk being a power of 2 */  	__u32 chunkShift;  	__u32 chunkMask; -	 +  /* XXX U-BOOT XXX */  #if 0 @@ -636,12 +636,12 @@ struct yaffs_DeviceStruct {  	void (*putSuperFunc) (struct super_block * sb);  #endif  #endif -	__u8 *spareBuffer;	/* For mtdif2 use. Don't know the size of the buffer  +	__u8 *spareBuffer;	/* For mtdif2 use. Don't know the size of the buffer  				 * at compile time so we have to allocate it.  				 */  	int isMounted; -	 +  	int isCheckpointed; @@ -650,7 +650,7 @@ struct yaffs_DeviceStruct {  	int internalEndBlock;  	int blockOffset;  	int chunkOffset; -	 +  	/* Runtime checkpointing stuff */  	int checkpointPageSequence;   /* running sequence number of checkpoint pages */ @@ -666,13 +666,13 @@ struct yaffs_DeviceStruct {  	int checkpointMaxBlocks;  	__u32 checkpointSum;  	__u32 checkpointXor; -	 +  	/* 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.  +	int chunkBitmapStride;	/* Number of bytes of chunkBits per block.  				 * Must be consistent with nChunksPerBlock.  				 */ @@ -720,7 +720,7 @@ struct yaffs_DeviceStruct {  	int tagsEccUnfixed;  	int nDeletions;  	int nUnmarkedDeletions; -	 +  	int hasPendingPrioritisedGCs; /* We think this device might have pending prioritised gcs */  	/* Special directories */ @@ -731,7 +731,7 @@ struct yaffs_DeviceStruct {  	 *      __u8            bufferedData[YAFFS_CHUNKS_PER_BLOCK][YAFFS_BYTES_PER_CHUNK];  	 *      yaffs_Spare bufferedSpare[YAFFS_CHUNKS_PER_BLOCK];  	 */ -	 +  	int bufferedBlock;	/* Which block is buffered here? */  	int doingBufferedBlockRewrite; @@ -764,7 +764,7 @@ typedef struct yaffs_DeviceStruct yaffs_Device;  /* The static layout of bllock usage etc is stored in the super block header */  typedef struct { -        int StructType; +	int StructType;  	int version;  	int checkpointStartBlock;  	int checkpointEndBlock; @@ -772,12 +772,12 @@ typedef struct {  	int endBlock;  	int rfu[100];  } yaffs_SuperBlockHeader; -	 +  /* The CheckpointDevice structure holds the device information that changes at runtime and   * must be preserved over unmount/mount cycles.   */  typedef struct { -        int structType; +	int structType;  	int nErasedBlocks;  	int allocationBlock;	/* Current block being allocated off */  	__u32 allocationPage; |