[Yaffs] Yaffs for 2.4.20

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Jon Vincent
Date:  
To: yaffs
Subject: [Yaffs] Yaffs for 2.4.20
Hello,
I'm using the yaffs from the CVS repository HEAD against 2.4.20 linux
kernel. The filesystem while mounting has a problem in
yaffs_write_super() function. This function is being called
continuously and makes the kernel to freeze. After making the
following change, i was able to mount the fs but the reads/writes are
not consistent.

diff a/yaffs_fs.c b/yaffs_fs.c

 static void yaffs_MarkSuperBlockDirty(void *vsb)
 {
     struct super_block *sb = (struct super_block *)vsb;


     T(YAFFS_TRACE_OS, ("yaffs_MarkSuperBlockDirty() sb = %p\n", sb));
-//    if (sb)
-//        sb->s_dirt = 1;
+    if (sb)
+        sb->s_dirt = 1;
 }


For instance, when a file is created and a few bytes are written
followed by a sync, it gets checkpointed. But the file name is not
showing up when 'ls' is used. Moreover, at times the file names are
corrupted. An unmount/remount reveals that the file indeed does not
gets stored.

Im also trying to understand the design of the FS/GC handling part so
i could use the latest YAFFS from CVS in 2.4+ kernels. It would be
great help if someone could provide directions to where the problem
could be? Or a pointer to latest YAFFS release for 2.4 kernels would
also be helpful.

Regards,
Jon