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