X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_guts.h;h=f47c65edda47f8362c2569b4de74e8a7782438da;hp=a3b110291d3832c4b73a83069e9e7d3d1fc7b92f;hb=96aed5b90237cda3b8168a957be33c83ae192794;hpb=3e5718ec7f0df7b76837d10583419b745cb27474 diff --git a/yaffs_guts.h b/yaffs_guts.h index a3b1102..f47c65e 100644 --- a/yaffs_guts.h +++ b/yaffs_guts.h @@ -405,6 +405,8 @@ typedef union { yaffs_HardLinkStructure hardLinkVariant; } yaffs_ObjectVariant; + + struct yaffs_ObjectStruct { __u8 deleted:1; /* This should only apply to unlinked files. */ __u8 softDeleted:1; /* it has also been soft deleted */ @@ -424,6 +426,7 @@ struct yaffs_ObjectStruct { * until the inode is released. */ __u8 beingCreated:1; /* This object is still being created so skip some checks. */ + __u8 isShadowed:1; /* This object is shadowed on the way to being renamed. */ __u8 serial; /* serial number of chunk in NAND. Cached here */ __u16 sum; /* sum of the name to speed searching */ @@ -531,6 +534,7 @@ typedef struct { /*----------------- Device ---------------------------------*/ + struct yaffs_DeviceStruct { struct ylist_head devList; const char *name; @@ -557,7 +561,10 @@ struct yaffs_DeviceStruct { int useHeaderFileSize; /* Flag to determine if we should use file sizes from the header */ - int useNANDECC; /* Flag to decide whether or not to use NANDECC */ + int useNANDECC; /* Flag to decide whether or not to use NANDECC on data (yaffs1) */ + int noTagsECC; /* Flag to decide whether or not to do ECC on packed tags (yaffs2) */ + + int disableLazyLoad; /* Disable lazy loading on this device */ void *genericDevice; /* Pointer to device context * On an mtd this holds the mtd pointer. @@ -764,7 +771,9 @@ struct yaffs_DeviceStruct { /* yaffs2 runtime stuff */ unsigned sequenceNumber; /* Sequence number of currently allocating block */ unsigned oldestDirtySequence; - + + /* Auto empty lost and found directory on mount */ + int emptyLostAndFound; }; typedef struct yaffs_DeviceStruct yaffs_Device; @@ -840,7 +849,8 @@ int yaffs_ResizeFile(yaffs_Object *obj, loff_t newSize); yaffs_Object *yaffs_MknodFile(yaffs_Object *parent, const YCHAR *name, __u32 mode, __u32 uid, __u32 gid); -int yaffs_FlushFile(yaffs_Object *obj, int updateTime); + +int yaffs_FlushFile(yaffs_Object *obj, int updateTime, int dataSync); /* Flushing and checkpointing */ void yaffs_FlushEntireDeviceCache(yaffs_Device *dev);