Charles, current yaffs_vfs_multi.c compiles with warnings in linux-3.0 due to yaffs_sync_object() having mismatched arguments. In linux-3.0, struct file_operations fsync function pointer takes only two args (equivalent to the version used for version 2.6.35). Here's a crude patch to make it compile on linux-3.0, but I'm looking to see when the fsync function pointer was changed to take four args and will refine this patch then. With this change YAFFS builds/runs fine on linux-3.0 kernel. diff --git a/yaffs_vfs_multi.c b/yaffs_vfs_multi.c index ce41d6c..bfe0e4a 100644 --- a/yaffs_vfs_multi.c +++ b/yaffs_vfs_multi.c @@ -245,7 +245,7 @@ static int yaffs_file_flush(struct file *file, fl_owner_t id); static int yaffs_file_flush(struct file *file); #endif -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)) +#if 0 && (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)) static int yaffs_sync_object(struct file *file, loff_t start, loff_t end, int datasync); #elif (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 34)) static int yaffs_sync_object(struct file *file, int datasync); @@ -1838,7 +1838,7 @@ static int yaffs_symlink(struct inode *dir, struct dentry *dentry, return -ENOMEM; } -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)) +#if 0 && (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)) static int yaffs_sync_object(struct file *file, loff_t start, loff_t end, int datasync) #elif (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 34)) static int yaffs_sync_object(struct file *file, int datasync) -- Peter Barada peter.barada@gmail.com