X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_guts.h;h=941782d8c3af29894203490263dd5f1c718c60dc;hp=b3bc574a51b29fe2b99159898e9ea27157a765bd;hb=e61569df5e4cdd90d529d312fa9fb317f726e224;hpb=ce0a5fb9849b6dc0d1347709b28d3a34eefec662 diff --git a/yaffs_guts.h b/yaffs_guts.h index b3bc574..941782d 100644 --- a/yaffs_guts.h +++ b/yaffs_guts.h @@ -39,7 +39,7 @@ * 2^(3*MAX_LEVEL+4) * * Thus a max level of 8 supports files with up to 2^^28 chunks which gives - * a maximum file size of arounf 51Gbytees with 2k chunks. + * a maximum file size of around 512Gbytees with 2k chunks. */ #define YAFFS_NTNODES_LEVEL0 16 #define YAFFS_TNODES_LEVEL0_BITS 4 @@ -54,6 +54,8 @@ YAFFS_TNODES_MAX_LEVEL) #define YAFFS_MAX_CHUNK_ID ((1 << YAFFS_TNODES_MAX_BITS) - 1) +#define YAFFS_MAX_FILE_SIZE_32 0x7fffffff + /* Constants for YAFFS1 mode */ #define YAFFS_BYTES_PER_SPARE 16 #define YAFFS_BYTES_PER_CHUNK 512 @@ -75,7 +77,9 @@ #define YAFFS_OBJECT_SPACE 0x40000 #define YAFFS_MAX_OBJECT_ID (YAFFS_OBJECT_SPACE - 1) -#define YAFFS_CHECKPOINT_VERSION 5 +/* Binary data version stamps */ +#define YAFFS_SUMMARY_VERSION 1 +#define YAFFS_CHECKPOINT_VERSION 7 #ifdef CONFIG_YAFFS_UNICODE #define YAFFS_MAX_NAME_LENGTH 127 @@ -534,7 +538,7 @@ struct yaffs_param { */ int use_nand_ecc; /* Flag to decide whether or not to use * NAND driver ECC on data (yaffs1) */ - int tags_9bytes; /* Use 9 byte tags */ + int tags_9bytes; /* Use 9 byte tags */ int no_tags_ecc; /* Flag to decide whether or not to do ECC * on packed tags (yaffs2) */ @@ -957,6 +961,8 @@ u32 yaffs_get_group_base(struct yaffs_dev *dev, struct yaffs_tnode *tn, int yaffs_is_non_empty_dir(struct yaffs_obj *obj); +int yaffs_format_dev(struct yaffs_dev *dev); + void yaffs_addr_to_chunk(struct yaffs_dev *dev, loff_t addr, int *chunk_out, u32 *offset_out); /*