projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rtems support: Rudimentary test harness now working.
[yaffs2.git]
/
yaffs_yaffs1.c
diff --git
a/yaffs_yaffs1.c
b/yaffs_yaffs1.c
index 3b271c907d85e29d29c98d14fdaabfdd892d77a8..1dd4db937fccf20ed437f50af38b7bf0f6ba1b90 100644
(file)
--- a/
yaffs_yaffs1.c
+++ b/
yaffs_yaffs1.c
@@
-1,8
+1,7
@@
/*
* 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-2011 Aleph One Ltd.
- * for Toby Churchill Ltd and Brightstar Engineering
+ * Copyright (C) 2002-2018 Aleph One Ltd.
*
* Created by Charles Manning <charles@aleph1.co.uk>
*
*
* Created by Charles Manning <charles@aleph1.co.uk>
*
@@
-22,10
+21,10
@@
int yaffs1_scan(struct yaffs_dev *dev)
{
struct yaffs_ext_tags tags;
int yaffs1_scan(struct yaffs_dev *dev)
{
struct yaffs_ext_tags tags;
-
int
blk;
+
u32
blk;
int result;
int chunk;
int result;
int chunk;
-
int
c;
+
u32
c;
int deleted;
enum yaffs_block_state state;
LIST_HEAD(hard_list);
int deleted;
enum yaffs_block_state state;
LIST_HEAD(hard_list);
@@
-42,7
+41,7
@@
int yaffs1_scan(struct yaffs_dev *dev)
"yaffs1_scan starts intstartblk %d intendblk %d...",
dev->internal_start_block, dev->internal_end_block);
"yaffs1_scan starts intstartblk %d intendblk %d...",
dev->internal_start_block, dev->internal_end_block);
- chunk_data = yaffs_get_temp_buffer(dev
, __LINE__
);
+ chunk_data = yaffs_get_temp_buffer(dev);
dev->seq_number = YAFFS_LOWEST_SEQUENCE_NUMBER;
dev->seq_number = YAFFS_LOWEST_SEQUENCE_NUMBER;
@@
-98,6
+97,8
@@
int yaffs1_scan(struct yaffs_dev *dev)
result = yaffs_rd_chunk_tags_nand(dev, chunk, NULL,
&tags);
result = yaffs_rd_chunk_tags_nand(dev, chunk, NULL,
&tags);
+ if (result != YAFFS_OK)
+ continue;
/* Let's have a good look at this chunk... */
if (tags.ecc_result == YAFFS_ECC_RESULT_UNFIXED ||
/* Let's have a good look at this chunk... */
if (tags.ecc_result == YAFFS_ECC_RESULT_UNFIXED ||
@@
-162,15
+163,15
@@
int yaffs1_scan(struct yaffs_dev *dev)
if (in &&
in->variant_type ==
YAFFS_OBJECT_TYPE_FILE &&
if (in &&
in->variant_type ==
YAFFS_OBJECT_TYPE_FILE &&
- in->variant.file_variant.s
cann
ed_size <
+ in->variant.file_variant.s
tor
ed_size <
endpos) {
endpos) {
- in->variant.file_variant.s
cann
ed_size =
+ in->variant.file_variant.s
tor
ed_size =
endpos;
if (!dev->param.use_header_file_size) {
in->variant.
file_variant.file_size =
in->variant.
endpos;
if (!dev->param.use_header_file_size) {
in->variant.
file_variant.file_size =
in->variant.
- file_variant.s
cann
ed_size;
+ file_variant.s
tor
ed_size;
}
}
}
}
@@
-323,11
+324,9
@@
int yaffs1_scan(struct yaffs_dev *dev)
case YAFFS_OBJECT_TYPE_FILE:
if (dev->param.
use_header_file_size)
case YAFFS_OBJECT_TYPE_FILE:
if (dev->param.
use_header_file_size)
-
in->variant.
in->variant.
- file_variant.file_size
- = oh->file_size;
-
+ file_variant.file_size
+ = yaffs_oh_to_size(dev, oh, 0);
break;
case YAFFS_OBJECT_TYPE_HARDLINK:
in->variant.
break;
case YAFFS_OBJECT_TYPE_HARDLINK:
in->variant.
@@
-413,7
+412,7
@@
int yaffs1_scan(struct yaffs_dev *dev)
}
}
}
}
- yaffs_release_temp_buffer(dev, chunk_data
, __LINE__
);
+ yaffs_release_temp_buffer(dev, chunk_data);
if (alloc_failed)
return YAFFS_FAIL;
if (alloc_failed)
return YAFFS_FAIL;