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 > Date: 9 Dec 2014 12:51 AM To: "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