Re: [Yaffs] yaffs2

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: Robert Calhoun
Date:  
To: KU Yuen, yaffs@lists.aleph1.co.uk
Subject: Re: [Yaffs] yaffs2
Several of list members have reported the "too few arguments to function" issue. It appears that the new cache policy proposed in 30f9...7561 was not fully implemented.

In lieu of guidance from Charles Manning on whether the new cache policy code is considered stable, I rebuilt kernel 2.6.34 using the commit before the policy was introduced.


commit 4e188b08c5531f99f73383a85251e03a1e667b26
Author: Charles Manning <>
Date: Wed Jun 18 14:21:03 2014 +1200

    Update to support Linux 3.14/3.15


    Thanks to Andre Renaud for doing some of this.


Yaffs2 compiles fine at this commit.

Because we previously experienced a corruption problem with an (ancient) version of yaffs, I have been monitoring systems built using linux 2.6.34 + yaffs2 at 4e18...7b26 fairly closely. At this time we have logged around 165 device-years of use. Overall, filesystem reliability with this combination has been good. We have seen one uncorrectable bitflip error (this is the NAND hardware/mtd layer, and not related to yaffs) and one "filesystem anomaly", a duplicate symbolic link:


$ ls -li /usr/sbin/chroot*
    989 lrwxrwxrwx    1 root     root            19 Aug 19 17:30 /usr/sbin/chroot -> /bin/busybox.nosuid
    989 lrwxrwxrwx    1 root     root            19 Aug 19 17:30 /usr/sbin/chroot -> /bin/busybox.nosuid


This was found using rsync -n to test against a filesystem mounted read-only. I don't have an explanation for it yet. mtd reported no uncorrectable errors, and there were no invisible chars in the link names. I did not do detailed forensics on the filesystem before correcting it.

Overall the yaffs2 codebase as of 4e18...7b26 seems solid for small production runs. I'd recommend additional testing before deploying widely.

-Rob Calhoun




From: KU Yuen <<mailto:kuyuen@live.com>>
Date: 9 Dec 2014 12:51 AM
To: "<mailto:yaffs@lists.aleph1.co.uk>" <<mailto:yaffs@lists.aleph1.co.uk>>
Subject: [Yaffs] yaffs2

Hi

I'm using ubuntu 14.04 with kernel: 3.13 and x86_64, trying to compile yaffs2 with the following error messages

fs/yaffs2/yaffs_vfs.c: In function 'yaffs_file_flush':
fs/yaffs2/yaffs_vfs.c:741:2: error: too few arguments to function 'yaffs_flush_file'
  yaffs_flush_file(obj, 1, 0);
  ^
In file included from fs/yaffs2/yaffs_vfs.c:173:0:
fs/yaffs2/yaffs_guts.h:879:5: note: declared here
 int yaffs_flush_file(struct yaffs_obj *in,
     ^
fs/yaffs2/yaffs_vfs.c: In function 'yaffs_sync_object':
fs/yaffs2/yaffs_vfs.c:771:2: error: too few arguments to function 'yaffs_flush_file'
  yaffs_flush_file(obj, 1, datasync);
  ^
In file included from fs/yaffs2/yaffs_vfs.c:173:0:
fs/yaffs2/yaffs_guts.h:879:5: note: declared here
 int yaffs_flush_file(struct yaffs_obj *in,
     ^
fs/yaffs2/yaffs_vfs.c: In function 'yaffs_flush_inodes':
fs/yaffs2/yaffs_vfs.c:2190:4: error: too few arguments to function 'yaffs_flush_file'
    yaffs_flush_file(obj, 1, 0);
    ^
In file included from fs/yaffs2/yaffs_vfs.c:173:0:
fs/yaffs2/yaffs_guts.h:879:5: note: declared here
 int yaffs_flush_file(struct yaffs_obj *in,
     ^
fs/yaffs2/yaffs_vfs.c: In function 'yaffs_flush_super':
fs/yaffs2/yaffs_vfs.c:2203:2: error: too few arguments to function 'yaffs_flush_whole_cache'
  yaffs_flush_whole_cache(dev);
  ^
In file included from fs/yaffs2/yaffs_vfs.c:173:0:
fs/yaffs2/yaffs_guts.h:885:6: note: declared here
 void yaffs_flush_whole_cache(struct yaffs_dev *dev, int discard);
      ^
make[3]: *** [fs/yaffs2/yaffs_vfs.o] Error 1
make[2]: *** [fs/yaffs2] Error 2
make[1]: *** [fs] Error 2
make[1]: Leaving directory `/home/testing/kernel/source'
make: *** [debian/stamp/build/kernel] Error 2



what can i do and how to fix it??



Peter KU