[Yaffs] yaffs warning in yaffs_vfs_multi on linux-3.0 kernel

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Peter Barada
Date:  
To: yaffs@lists.aleph1.co.uk
Subject: [Yaffs] yaffs warning in yaffs_vfs_multi on linux-3.0 kernel
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