projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
yaffs direct: Fix renaming file over directory or directory over file
[yaffs2.git]
/
yaffs_yaffs2.c
diff --git
a/yaffs_yaffs2.c
b/yaffs_yaffs2.c
index 5761e960e646c816c0628a2c7b64470bb55c04f1..f1dc972276f78091b14a45e4ecfd54d1c406a5b1 100644
(file)
--- a/
yaffs_yaffs2.c
+++ b/
yaffs_yaffs2.c
@@
-836,7
+836,7
@@
int yaffs2_handle_hole(struct yaffs_obj *obj, loff_t new_size)
* of hole marker.
*/
loff_t old_file_size;
* of hole marker.
*/
loff_t old_file_size;
-
in
t increase;
+
loff_
t increase;
int small_hole;
int result = YAFFS_OK;
struct yaffs_dev *dev = NULL;
int small_hole;
int result = YAFFS_OK;
struct yaffs_dev *dev = NULL;
@@
-873,7
+873,7
@@
int yaffs2_handle_hole(struct yaffs_obj *obj, loff_t new_size)
if (local_buffer) {
/* fill hole with zero bytes */
if (local_buffer) {
/* fill hole with zero bytes */
-
in
t pos = old_file_size;
+
loff_
t pos = old_file_size;
int this_write;
int written;
memset(local_buffer, 0, dev->data_bytes_per_chunk);
int this_write;
int written;
memset(local_buffer, 0, dev->data_bytes_per_chunk);
@@
-942,7
+942,7
@@
static inline int yaffs2_scan_chunk(struct yaffs_dev *dev,
struct yaffs_obj *in;
struct yaffs_obj *parent;
int equiv_id;
struct yaffs_obj *in;
struct yaffs_obj *parent;
int equiv_id;
-
in
t file_size;
+
loff_
t file_size;
int is_shrink;
int is_unlinked;
struct yaffs_ext_tags tags;
int is_shrink;
int is_unlinked;
struct yaffs_ext_tags tags;
@@
-1034,8
+1034,8
@@
static inline int yaffs2_scan_chunk(struct yaffs_dev *dev,
dev->n_free_chunks++;
} else if (tags.chunk_id > 0) {
/* chunk_id > 0 so it is a data chunk... */
dev->n_free_chunks++;
} else if (tags.chunk_id > 0) {
/* chunk_id > 0 so it is a data chunk... */
-
unsigned in
t endpos;
-
u32
chunk_base = (tags.chunk_id - 1) *
+
loff_
t endpos;
+
loff_t
chunk_base = (tags.chunk_id - 1) *
dev->data_bytes_per_chunk;
*found_chunks = 1;
dev->data_bytes_per_chunk;
*found_chunks = 1;
@@
-1157,9
+1157,9
@@
static inline int yaffs2_scan_chunk(struct yaffs_dev *dev,
(tags.extra_available &&
tags.extra_obj_type == YAFFS_OBJECT_TYPE_FILE)
)) {
(tags.extra_available &&
tags.extra_obj_type == YAFFS_OBJECT_TYPE_FILE)
)) {
-
u32
this_size = (oh) ?
-
oh->file_size
:
- tags.extra_
length
;
+
loff_t
this_size = (oh) ?
+
yaffs_oh_to_size(oh)
:
+ tags.extra_
file_size
;
u32 parent_obj_id = (oh) ?
oh->parent_obj_id :
tags.extra_parent_id;
u32 parent_obj_id = (oh) ?
oh->parent_obj_id :
tags.extra_parent_id;
@@
-1233,7
+1233,7
@@
static inline int yaffs2_scan_chunk(struct yaffs_dev *dev,
parent = yaffs_find_or_create_by_number(dev,
oh->parent_obj_id,
YAFFS_OBJECT_TYPE_DIRECTORY);
parent = yaffs_find_or_create_by_number(dev,
oh->parent_obj_id,
YAFFS_OBJECT_TYPE_DIRECTORY);
- file_size =
oh->file_size
;
+ file_size =
yaffs_oh_to_size(oh)
;
is_shrink = oh->is_shrink;
equiv_id = oh->equiv_id;
} else {
is_shrink = oh->is_shrink;
equiv_id = oh->equiv_id;
} else {
@@
-1241,7
+1241,7
@@
static inline int yaffs2_scan_chunk(struct yaffs_dev *dev,
parent = yaffs_find_or_create_by_number(dev,
tags.extra_parent_id,
YAFFS_OBJECT_TYPE_DIRECTORY);
parent = yaffs_find_or_create_by_number(dev,
tags.extra_parent_id,
YAFFS_OBJECT_TYPE_DIRECTORY);
- file_size = tags.extra_
length
;
+ file_size = tags.extra_
file_size
;
is_shrink = tags.extra_is_shrink;
equiv_id = tags.extra_equiv_id;
in->lazy_loaded = 1;
is_shrink = tags.extra_is_shrink;
equiv_id = tags.extra_equiv_id;
in->lazy_loaded = 1;
@@
-1473,7
+1473,7
@@
int yaffs2_scan_backwards(struct yaffs_dev *dev)
/* For each chunk in each block that needs scanning.... */
found_chunks = 0;
/* For each chunk in each block that needs scanning.... */
found_chunks = 0;
- if(summary_available)
+ if
(summary_available)
c = dev->chunks_per_summary - 1;
else
c = dev->param.chunks_per_block - 1;
c = dev->chunks_per_summary - 1;
else
c = dev->param.chunks_per_block - 1;