399 lines
12 KiB
Diff
399 lines
12 KiB
Diff
diff --git a/dfs_yaffs2.c b/dfs_yaffs2.c
|
|
index 4b056ae..e63d5d4 100644
|
|
--- a/dfs_yaffs2.c
|
|
+++ b/dfs_yaffs2.c
|
|
@@ -39,7 +39,6 @@ static int dfs_yaffs_mount(struct dfs_filesystem* fs,
|
|
const void* data)
|
|
{
|
|
unsigned index;
|
|
- ynandif_Geometry *g;
|
|
|
|
/*1. find a empty entry in partition table */
|
|
for (index = 0; index < NAND_DEVICE_PART_MAX ; index ++)
|
|
diff --git a/yaffs/direct/yaffsfs.c b/yaffs/direct/yaffsfs.c
|
|
index 17fc502..1f47ea7 100644
|
|
--- a/yaffs/direct/yaffsfs.c
|
|
+++ b/yaffs/direct/yaffsfs.c
|
|
@@ -1367,7 +1367,7 @@ off_t yaffs_lseek(int handle, off_t offset, int whence)
|
|
if(offset >= 0)
|
|
pos = offset;
|
|
} else if(whence == SEEK_CUR) {
|
|
- if( (fd->position + offset) >= 0)
|
|
+ if( ((int)fd->position + offset) >= 0)
|
|
pos = (fd->position + offset);
|
|
} else if(whence == SEEK_END) {
|
|
fSize = yaffs_get_obj_length(obj);
|
|
diff --git a/yaffs/direct/yportenv.h b/yaffs/direct/yportenv.h
|
|
index f693c16..ac0a737 100644
|
|
--- a/yaffs/direct/yportenv.h
|
|
+++ b/yaffs/direct/yportenv.h
|
|
@@ -45,7 +45,7 @@
|
|
#endif
|
|
|
|
#ifndef loff_t
|
|
- typedef unsigned long loff_t;
|
|
+ typedef long loff_t;
|
|
#endif
|
|
|
|
#ifndef dev_t
|
|
@@ -66,7 +66,7 @@
|
|
#elif defined (__GNUC__) && !defined(__CC_ARM)
|
|
|
|
#ifndef loff_t
|
|
- typedef unsigned long loff_t;
|
|
+ typedef long loff_t;
|
|
#endif
|
|
|
|
#ifndef dev_t
|
|
diff --git a/yaffs/yaffs_guts.c b/yaffs/yaffs_guts.c
|
|
index d72aa5b..08db8c8 100644
|
|
--- a/yaffs/yaffs_guts.c
|
|
+++ b/yaffs/yaffs_guts.c
|
|
@@ -280,7 +280,7 @@ static void yaffs_handle_chunk_wr_error(struct yaffs_dev *dev, int nand_chunk,
|
|
|
|
static inline int yaffs_hash_fn(int n)
|
|
{
|
|
- n = abs(n);
|
|
+ n = n > 0 ? n : -n;
|
|
return n % YAFFS_NOBJECT_BUCKETS;
|
|
}
|
|
|
|
@@ -319,9 +319,9 @@ static int yaffs_check_chunk_erased(struct yaffs_dev *dev, int nand_chunk)
|
|
int retval = YAFFS_OK;
|
|
u8 *data = yaffs_get_temp_buffer(dev);
|
|
struct yaffs_ext_tags tags;
|
|
- int result;
|
|
|
|
- result = yaffs_rd_chunk_tags_nand(dev, nand_chunk, data, &tags);
|
|
+
|
|
+ yaffs_rd_chunk_tags_nand(dev, nand_chunk, data, &tags);
|
|
|
|
if (tags.ecc_result > YAFFS_ECC_RESULT_NO_ERROR)
|
|
retval = YAFFS_FAIL;
|
|
@@ -347,9 +347,9 @@ static int yaffs_verify_chunk_written(struct yaffs_dev *dev,
|
|
int retval = YAFFS_OK;
|
|
struct yaffs_ext_tags temp_tags;
|
|
u8 *buffer = yaffs_get_temp_buffer(dev);
|
|
- int result;
|
|
|
|
- result = yaffs_rd_chunk_tags_nand(dev, nand_chunk, buffer, &temp_tags);
|
|
+
|
|
+ yaffs_rd_chunk_tags_nand(dev, nand_chunk, buffer, &temp_tags);
|
|
if (memcmp(buffer, data, dev->data_bytes_per_chunk) ||
|
|
temp_tags.obj_id != tags->obj_id ||
|
|
temp_tags.chunk_id != tags->chunk_id ||
|
|
@@ -1478,7 +1478,7 @@ static struct yaffs_cache *yaffs_grab_chunk_cache(struct yaffs_dev *dev)
|
|
struct yaffs_obj *the_obj;
|
|
int usage;
|
|
int i;
|
|
- int pushout;
|
|
+ /* int pushout; */
|
|
|
|
if (dev->param.n_caches < 1)
|
|
return NULL;
|
|
@@ -1499,7 +1499,7 @@ static struct yaffs_cache *yaffs_grab_chunk_cache(struct yaffs_dev *dev)
|
|
the_obj = dev->cache[0].object;
|
|
usage = -1;
|
|
cache = NULL;
|
|
- pushout = -1;
|
|
+ /* pushout = -1; */
|
|
|
|
for (i = 0; i < dev->param.n_caches; i++) {
|
|
if (dev->cache[i].object &&
|
|
@@ -1509,7 +1509,7 @@ static struct yaffs_cache *yaffs_grab_chunk_cache(struct yaffs_dev *dev)
|
|
usage = dev->cache[i].last_use;
|
|
the_obj = dev->cache[i].object;
|
|
cache = &dev->cache[i];
|
|
- pushout = i;
|
|
+ /* pushout = i; */
|
|
}
|
|
}
|
|
|
|
@@ -3167,7 +3167,7 @@ static void yaffs_check_obj_details_loaded(struct yaffs_obj *in)
|
|
struct yaffs_obj_hdr *oh;
|
|
struct yaffs_dev *dev;
|
|
struct yaffs_ext_tags tags;
|
|
- int result;
|
|
+
|
|
int alloc_failed = 0;
|
|
|
|
if (!in || !in->lazy_loaded || in->hdr_chunk < 1)
|
|
@@ -3177,7 +3177,7 @@ static void yaffs_check_obj_details_loaded(struct yaffs_obj *in)
|
|
in->lazy_loaded = 0;
|
|
buf = yaffs_get_temp_buffer(dev);
|
|
|
|
- result = yaffs_rd_chunk_tags_nand(dev, in->hdr_chunk, buf, &tags);
|
|
+ yaffs_rd_chunk_tags_nand(dev, in->hdr_chunk, buf, &tags);
|
|
oh = (struct yaffs_obj_hdr *)buf;
|
|
|
|
in->yst_mode = oh->yst_mode;
|
|
@@ -3189,6 +3189,7 @@ static void yaffs_check_obj_details_loaded(struct yaffs_obj *in)
|
|
yaffs_clone_str(oh->alias);
|
|
if (!in->variant.symlink_variant.alias)
|
|
alloc_failed = 1; /* Not returned */
|
|
+ alloc_failed = alloc_failed;
|
|
}
|
|
yaffs_release_temp_buffer(dev, buf);
|
|
}
|
|
@@ -3274,7 +3275,7 @@ int yaffs_update_oh(struct yaffs_obj *in, const YCHAR *name, int force,
|
|
struct yaffs_dev *dev = in->my_dev;
|
|
int prev_chunk_id;
|
|
int ret_val = 0;
|
|
- int result = 0;
|
|
+
|
|
int new_chunk_id;
|
|
struct yaffs_ext_tags new_tags;
|
|
struct yaffs_ext_tags old_tags;
|
|
@@ -3297,7 +3298,7 @@ int yaffs_update_oh(struct yaffs_obj *in, const YCHAR *name, int force,
|
|
prev_chunk_id = in->hdr_chunk;
|
|
|
|
if (prev_chunk_id > 0) {
|
|
- result = yaffs_rd_chunk_tags_nand(dev, prev_chunk_id,
|
|
+ yaffs_rd_chunk_tags_nand(dev, prev_chunk_id,
|
|
buffer, &old_tags);
|
|
|
|
yaffs_verify_oh(in, oh, &old_tags, 0);
|
|
@@ -3921,7 +3922,7 @@ int yaffs_del_obj(struct yaffs_obj *obj)
|
|
list_del_init(&obj->variant.dir_variant.dirty);
|
|
}
|
|
return yaffs_del_dir(obj);
|
|
- break;
|
|
+ //break;
|
|
case YAFFS_OBJECT_TYPE_SYMLINK:
|
|
ret_val = yaffs_del_symlink(obj);
|
|
break;
|
|
@@ -3993,17 +3994,17 @@ static int yaffs_unlink_worker(struct yaffs_obj *obj)
|
|
switch (obj->variant_type) {
|
|
case YAFFS_OBJECT_TYPE_FILE:
|
|
return yaffs_del_file(obj);
|
|
- break;
|
|
+ //break;
|
|
case YAFFS_OBJECT_TYPE_DIRECTORY:
|
|
list_del_init(&obj->variant.dir_variant.dirty);
|
|
return yaffs_del_dir(obj);
|
|
- break;
|
|
+ //break;
|
|
case YAFFS_OBJECT_TYPE_SYMLINK:
|
|
return yaffs_del_symlink(obj);
|
|
- break;
|
|
+ //break;
|
|
case YAFFS_OBJECT_TYPE_SPECIAL:
|
|
return yaffs_generic_obj_del(obj);
|
|
- break;
|
|
+ //break;
|
|
case YAFFS_OBJECT_TYPE_HARDLINK:
|
|
case YAFFS_OBJECT_TYPE_UNKNOWN:
|
|
default:
|
|
@@ -4421,7 +4422,7 @@ int yaffs_get_obj_name(struct yaffs_obj *obj, YCHAR *name, int buffer_size)
|
|
} else if (obj->short_name[0]) {
|
|
strcpy(name, obj->short_name);
|
|
} else if (obj->hdr_chunk > 0) {
|
|
- int result;
|
|
+
|
|
u8 *buffer = yaffs_get_temp_buffer(obj->my_dev);
|
|
|
|
struct yaffs_obj_hdr *oh = (struct yaffs_obj_hdr *)buffer;
|
|
@@ -4429,7 +4430,7 @@ int yaffs_get_obj_name(struct yaffs_obj *obj, YCHAR *name, int buffer_size)
|
|
memset(buffer, 0, obj->my_dev->data_bytes_per_chunk);
|
|
|
|
if (obj->hdr_chunk > 0) {
|
|
- result = yaffs_rd_chunk_tags_nand(obj->my_dev,
|
|
+ yaffs_rd_chunk_tags_nand(obj->my_dev,
|
|
obj->hdr_chunk,
|
|
buffer, NULL);
|
|
}
|
|
@@ -4490,16 +4491,16 @@ unsigned yaffs_get_obj_type(struct yaffs_obj *obj)
|
|
switch (obj->variant_type) {
|
|
case YAFFS_OBJECT_TYPE_FILE:
|
|
return DT_REG;
|
|
- break;
|
|
+ //break;
|
|
case YAFFS_OBJECT_TYPE_DIRECTORY:
|
|
return DT_DIR;
|
|
- break;
|
|
+ //break;
|
|
case YAFFS_OBJECT_TYPE_SYMLINK:
|
|
return DT_LNK;
|
|
- break;
|
|
+ //break;
|
|
case YAFFS_OBJECT_TYPE_HARDLINK:
|
|
return DT_REG;
|
|
- break;
|
|
+ //break;
|
|
case YAFFS_OBJECT_TYPE_SPECIAL:
|
|
if (S_ISFIFO(obj->yst_mode))
|
|
return DT_FIFO;
|
|
@@ -4510,10 +4511,10 @@ unsigned yaffs_get_obj_type(struct yaffs_obj *obj)
|
|
if (S_ISSOCK(obj->yst_mode))
|
|
return DT_SOCK;
|
|
return DT_REG;
|
|
- break;
|
|
+ //break;
|
|
default:
|
|
return DT_REG;
|
|
- break;
|
|
+ //break;
|
|
}
|
|
}
|
|
|
|
@@ -4837,7 +4838,7 @@ int yaffs_guts_initialise(struct yaffs_dev *dev)
|
|
dev->n_erased_blocks = 0;
|
|
dev->n_free_chunks = 0;
|
|
dev->alloc_block = -1;
|
|
- dev->alloc_page = -1;
|
|
+ dev->alloc_page = (u32)(-1);
|
|
dev->n_deleted_files = 0;
|
|
dev->n_unlinked_files = 0;
|
|
dev->n_bg_deletions = 0;
|
|
diff --git a/yaffs/yaffs_packedtags2.c b/yaffs/yaffs_packedtags2.c
|
|
index 820bc41..9306623 100644
|
|
--- a/yaffs/yaffs_packedtags2.c
|
|
+++ b/yaffs/yaffs_packedtags2.c
|
|
@@ -35,7 +35,7 @@
|
|
|
|
/* Also, the top 4 bits of the object Id are set to the object type. */
|
|
#define EXTRA_OBJECT_TYPE_SHIFT (28)
|
|
-#define EXTRA_OBJECT_TYPE_MASK ((0x0f) << EXTRA_OBJECT_TYPE_SHIFT)
|
|
+#define EXTRA_OBJECT_TYPE_MASK ((0x0fUL) << EXTRA_OBJECT_TYPE_SHIFT)
|
|
|
|
static void yaffs_dump_packed_tags2_tags_only(
|
|
const struct yaffs_packed_tags2_tags_only *ptt)
|
|
@@ -129,7 +129,7 @@ void yaffs_unpack_tags2_tags_only(struct yaffs_ext_tags *t,
|
|
t->extra_parent_id = ptt->chunk_id & (~(ALL_EXTRA_FLAGS));
|
|
t->extra_is_shrink = ptt->chunk_id & EXTRA_SHRINK_FLAG ? 1 : 0;
|
|
t->extra_shadows = ptt->chunk_id & EXTRA_SHADOWS_FLAG ? 1 : 0;
|
|
- t->extra_obj_type = ptt->obj_id >> EXTRA_OBJECT_TYPE_SHIFT;
|
|
+ t->extra_obj_type = (enum yaffs_obj_type)(ptt->obj_id >> EXTRA_OBJECT_TYPE_SHIFT);
|
|
t->obj_id &= ~EXTRA_OBJECT_TYPE_MASK;
|
|
|
|
if (t->extra_obj_type == YAFFS_OBJECT_TYPE_HARDLINK)
|
|
diff --git a/yaffs/yaffs_verify.c b/yaffs/yaffs_verify.c
|
|
index b3e540d..1758125 100644
|
|
--- a/yaffs/yaffs_verify.c
|
|
+++ b/yaffs/yaffs_verify.c
|
|
@@ -223,7 +223,7 @@ void yaffs_verify_oh(struct yaffs_obj *obj, struct yaffs_obj_hdr *oh,
|
|
void yaffs_verify_file(struct yaffs_obj *obj)
|
|
{
|
|
int required_depth;
|
|
- int actual_depth;
|
|
+ //int actual_depth;
|
|
u32 last_chunk;
|
|
u32 the_chunk;
|
|
u32 x;
|
|
@@ -252,7 +252,7 @@ void yaffs_verify_file(struct yaffs_obj *obj)
|
|
required_depth++;
|
|
}
|
|
|
|
- actual_depth = obj->variant.file_variant.top_level;
|
|
+ //actual_depth = obj->variant.file_variant.top_level;
|
|
|
|
/* Check that the chunks in the tnode tree are all correct.
|
|
* We do this by scanning through the tnode tree and
|
|
diff --git a/yaffs/yaffs_yaffs1.c b/yaffs/yaffs_yaffs1.c
|
|
index da6a40f..8e7f4b2 100644
|
|
--- a/yaffs/yaffs_yaffs1.c
|
|
+++ b/yaffs/yaffs_yaffs1.c
|
|
@@ -23,7 +23,7 @@ int yaffs1_scan(struct yaffs_dev *dev)
|
|
{
|
|
struct yaffs_ext_tags tags;
|
|
int blk;
|
|
- int result;
|
|
+ //int result;
|
|
int chunk;
|
|
int c;
|
|
int deleted;
|
|
@@ -84,7 +84,7 @@ int yaffs1_scan(struct yaffs_dev *dev)
|
|
cond_resched();
|
|
|
|
bi = yaffs_get_block_info(dev, blk);
|
|
- state = bi->block_state;
|
|
+ state = (enum yaffs_block_state)(bi->block_state);
|
|
|
|
deleted = 0;
|
|
|
|
@@ -95,7 +95,7 @@ int yaffs1_scan(struct yaffs_dev *dev)
|
|
/* Read the tags and decide what to do */
|
|
chunk = blk * dev->param.chunks_per_block + c;
|
|
|
|
- result = yaffs_rd_chunk_tags_nand(dev, chunk, NULL,
|
|
+ yaffs_rd_chunk_tags_nand(dev, chunk, NULL,
|
|
&tags);
|
|
|
|
/* Let's have a good look at this chunk... */
|
|
@@ -181,7 +181,7 @@ int yaffs1_scan(struct yaffs_dev *dev)
|
|
yaffs_set_chunk_bit(dev, blk, c);
|
|
bi->pages_in_use++;
|
|
|
|
- result = yaffs_rd_chunk_tags_nand(dev, chunk,
|
|
+ yaffs_rd_chunk_tags_nand(dev, chunk,
|
|
chunk_data,
|
|
NULL);
|
|
|
|
diff --git a/yaffs/yaffs_yaffs2.c b/yaffs/yaffs_yaffs2.c
|
|
index 5761e96..69acd20 100644
|
|
--- a/yaffs/yaffs_yaffs2.c
|
|
+++ b/yaffs/yaffs_yaffs2.c
|
|
@@ -946,7 +946,7 @@ static inline int yaffs2_scan_chunk(struct yaffs_dev *dev,
|
|
int is_shrink;
|
|
int is_unlinked;
|
|
struct yaffs_ext_tags tags;
|
|
- int result;
|
|
+ //int result;
|
|
int alloc_failed = 0;
|
|
int chunk = blk * dev->param.chunks_per_block + chunk_in_block;
|
|
struct yaffs_file_var *file_var;
|
|
@@ -954,12 +954,12 @@ static inline int yaffs2_scan_chunk(struct yaffs_dev *dev,
|
|
struct yaffs_symlink_var *sl_var;
|
|
|
|
if (summary_available) {
|
|
- result = yaffs_summary_fetch(dev, &tags, chunk_in_block);
|
|
+ yaffs_summary_fetch(dev, &tags, chunk_in_block);
|
|
tags.seq_number = bi->seq_number;
|
|
}
|
|
|
|
if (!summary_available || tags.obj_id == 0) {
|
|
- result = yaffs_rd_chunk_tags_nand(dev, chunk, NULL, &tags);
|
|
+ yaffs_rd_chunk_tags_nand(dev, chunk, NULL, &tags);
|
|
dev->tags_used++;
|
|
} else {
|
|
dev->summary_used++;
|
|
@@ -1114,7 +1114,7 @@ static inline int yaffs2_scan_chunk(struct yaffs_dev *dev,
|
|
* invalid data until needed.
|
|
*/
|
|
|
|
- result = yaffs_rd_chunk_tags_nand(dev,
|
|
+ yaffs_rd_chunk_tags_nand(dev,
|
|
chunk,
|
|
chunk_data,
|
|
NULL);
|
|
@@ -1349,7 +1349,7 @@ int yaffs2_scan_backwards(struct yaffs_dev *dev)
|
|
int n_to_scan = 0;
|
|
enum yaffs_block_state state;
|
|
int c;
|
|
- int deleted;
|
|
+ //int deleted;
|
|
LIST_HEAD(hard_list);
|
|
struct yaffs_block_info *bi;
|
|
u32 seq_number;
|
|
@@ -1467,7 +1467,7 @@ int yaffs2_scan_backwards(struct yaffs_dev *dev)
|
|
/* get the block to scan in the correct order */
|
|
blk = block_index[block_iter].block;
|
|
bi = yaffs_get_block_info(dev, blk);
|
|
- deleted = 0;
|
|
+ //deleted = 0;
|
|
|
|
summary_available = yaffs_summary_read(dev, dev->sum_tags, blk);
|
|
|
|
diff --git a/yaffs_osglue.c b/yaffs_osglue.c
|
|
index 2c34f99..4f2e5db 100644
|
|
--- a/yaffs_osglue.c
|
|
+++ b/yaffs_osglue.c
|
|
@@ -58,7 +58,6 @@ void yaffsfs_LockInit(void)
|
|
#else
|
|
|
|
static rt_mutex_t mutex = RT_NULL;
|
|
-static rt_sem_t sem = RT_NULL;
|
|
void yaffsfs_Lock(void)
|
|
{
|
|
rt_mutex_take(mutex, RT_WAITING_FOREVER);
|