GIT: unionfs2-2.6.35.y: Unionfs: update fsync prototype
Erez Zadok
ezk at fsl.cs.sunysb.edu
Fri Aug 13 00:08:06 EDT 2010
commit 06fdb153f928232967e35615c7a9e48e419fb3e2
Author: Erez Zadok <ezk at cs.sunysb.edu>
Date: Fri Aug 6 01:47:28 2010 -0400
Unionfs: update fsync prototype
Signed-off-by: Erez Zadok <ezk at cs.sunysb.edu>
diff --git a/fs/unionfs/copyup.c b/fs/unionfs/copyup.c
index 9c7b2ac..bba3a75 100644
--- a/fs/unionfs/copyup.c
+++ b/fs/unionfs/copyup.c
@@ -326,8 +326,7 @@ static int __copyup_reg_data(struct dentry *dentry,
kfree(buf);
if (!err)
- err = output_file->f_op->fsync(output_file,
- new_lower_dentry, 0);
+ err = output_file->f_op->fsync(output_file, 0);
if (err)
goto out_close_out;
diff --git a/fs/unionfs/file.c b/fs/unionfs/file.c
index 46eaa90..5a8f4e0 100644
--- a/fs/unionfs/file.c
+++ b/fs/unionfs/file.c
@@ -188,10 +188,11 @@ out:
return err;
}
-int unionfs_fsync(struct file *file, struct dentry *dentry, int datasync)
+int unionfs_fsync(struct file *file, int datasync)
{
int bindex, bstart, bend;
struct file *lower_file;
+ struct dentry *dentry = file->f_path.dentry;
struct dentry *lower_dentry;
struct dentry *parent;
struct inode *lower_inode, *inode;
@@ -224,9 +225,7 @@ int unionfs_fsync(struct file *file, struct dentry *dentry, int datasync)
lower_file = unionfs_lower_file_idx(file, bindex);
lower_dentry = unionfs_lower_dentry_idx(dentry, bindex);
mutex_lock(&lower_inode->i_mutex);
- err = lower_inode->i_fop->fsync(lower_file,
- lower_dentry,
- datasync);
+ err = lower_inode->i_fop->fsync(lower_file, datasync);
if (!err && bindex == bstart)
fsstack_copy_attr_times(inode, lower_inode);
mutex_unlock(&lower_inode->i_mutex);
diff --git a/fs/unionfs/union.h b/fs/unionfs/union.h
index 99335a3..d49c834 100644
--- a/fs/unionfs/union.h
+++ b/fs/unionfs/union.h
@@ -416,8 +416,7 @@ extern int unionfs_file_release(struct inode *inode, struct file *file);
extern int unionfs_flush(struct file *file, fl_owner_t id);
extern long unionfs_ioctl(struct file *file, unsigned int cmd,
unsigned long arg);
-extern int unionfs_fsync(struct file *file, struct dentry *dentry,
- int datasync);
+extern int unionfs_fsync(struct file *file, int datasync);
extern int unionfs_fasync(int fd, struct file *file, int flag);
/* Inode operations */
More information about the unionfs-cvs
mailing list