((fp)->f_op->write((fp), (buf), (size), pos))
#ifdef HAVE_FILE_FSYNC_4ARGS
-#define filp_fsync(fp, start, end) ((fp)->f_op->fsync((fp), start, end, 1))
-#elif defined(HAVE_FILE_FSYNC_2ARGS)
-#define filp_fsync(fp, start, end) ((fp)->f_op->fsync((fp), 1))
+#define ll_vfs_fsync_range(fp, start, end, datasync) \
+ vfs_fsync_range(fp, start, end, datasync)
#else
-#define filp_fsync(fp, start, end) ((fp)->f_op->fsync((fp), (fp)->f_dentry, 1))
+#define ll_vfs_fsync_range(fp, start, end, datasync) \
+ vfs_fsync_range(fp, (fp)->f_dentry, start, end, datasync)
#endif
#define flock_type(fl) ((fl)->fl_type)
cfs_tage_free(tage);
}
MMSPACE_CLOSE;
- rc = filp_fsync(filp, 0, LLONG_MAX);
+ rc = ll_vfs_fsync_range(filp, 0, LLONG_MAX, 1);
if (rc)
printk(KERN_ERR "sync returns %d\n", rc);
close:
file->f_op = inode->i_fop;
set_file_inode(file, inode);
-#ifdef HAVE_FILE_FSYNC_4ARGS
- rc = file->f_op->fsync(file, start, end, 0);
-#elif defined(HAVE_FILE_FSYNC_2ARGS)
- mutex_lock(&inode->i_mutex);
- rc = file->f_op->fsync(file, 0);
- mutex_unlock(&inode->i_mutex);
-#else
- mutex_lock(&inode->i_mutex);
- rc = file->f_op->fsync(file, dentry, 0);
- mutex_unlock(&inode->i_mutex);
-#endif
+ rc = ll_vfs_fsync_range(file, start, end, 0);
RETURN(rc);
}