Re: [Yaffs] compatibility between old and new yaffs

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Andrea Gasparini
Date:  
To: yaffs
CC: Charles Manning, Mark Whitney
Subject: Re: [Yaffs] compatibility between old and new yaffs
Charles Manning wrote, Thursday, June 23, 2011:
> On Thursday 23 June 2011 08:05:21 Mark Whitney wrote:

[snip]
> > Are there some versions in which compatibility is not guaranteed? Is
> > there a compatibility mode I should be using or an upgrade utility?
> > I also tried mounting under the new yaffs kernel with "-t yaffs" and
> > got the same result. Any advice or guidelines for mounting the old
> > partitions with the new code would be appreciated, thanks.
>
> This is odd. These should be compatible.


is the issue I found and posted a little ago. I never found the time to
correctly send a description of what I found.

In the old version sometimes the size of the block (to be clear the field:
yaffs_packed_tags2_tags_only.n_bytes) isn't written (don't know if it's a
bug or a feature....) while the new check there's a correct size even if
isn't used.

Mark: could you please try to apply this? *IT'S NOT* the right solution,
but just to understand what your problem is.

diff --git a/fs/yaffs2/yaffs_yaffs2.c b/fs/yaffs2/yaffs_yaffs2.c
index 5761e96..5382e02 100644
--- a/fs/yaffs2/yaffs_yaffs2.c
+++ b/fs/yaffs2/yaffs_yaffs2.c
@@ -1024,8 +1024,7 @@ static inline int yaffs2_scan_chunk(struct yaffs_dev 
*dev,
        } else if (tags.obj_id > YAFFS_MAX_OBJECT_ID ||
                   tags.chunk_id > YAFFS_MAX_CHUNK_ID ||
                   tags.obj_id == YAFFS_OBJECTID_SUMMARY ||
-                  (tags.chunk_id > 0 &&
-                    tags.n_bytes > dev->data_bytes_per_chunk) ||
+                  //(tags.chunk_id > 0 && tags.n_bytes > dev-

>data_bytes_per_chunk) ||

                   tags.seq_number != bi->seq_number) {
                yaffs_trace(YAFFS_TRACE_SCAN,
                        "Chunk (%d:%d) with bad tags:obj = %d, chunk_id = 
%d, n_bytes = %d, ignored"


bye
--
Andrea Gasparini
---- ImaVis S.r.l. ----
web: www.imavis.com