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 <
cdhmanning@gmail.com>
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 <
kuyuen@live.com<
mailto:kuyuen@live.com>>
Date: 9 Dec 2014 12:51 AM
To: "
yaffs@lists.aleph1.co.uk<
mailto:yaffs@lists.aleph1.co.uk>" <
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