|
@@ -1,52 +0,0 @@
|
|
-/*
|
|
|
|
- * fsync.c
|
|
|
|
- *
|
|
|
|
- * PURPOSE
|
|
|
|
- * Fsync handling routines for the OSTA-UDF(tm) filesystem.
|
|
|
|
- *
|
|
|
|
- * COPYRIGHT
|
|
|
|
- * This file is distributed under the terms of the GNU General Public
|
|
|
|
- * License (GPL). Copies of the GPL can be obtained from:
|
|
|
|
- * ftp://prep.ai.mit.edu/pub/gnu/GPL
|
|
|
|
- * Each contributing author retains all rights to their own work.
|
|
|
|
- *
|
|
|
|
- * (C) 1999-2001 Ben Fennema
|
|
|
|
- * (C) 1999-2000 Stelias Computing Inc
|
|
|
|
- *
|
|
|
|
- * HISTORY
|
|
|
|
- *
|
|
|
|
- * 05/22/99 blf Created.
|
|
|
|
- */
|
|
|
|
-
|
|
|
|
-#include "udfdecl.h"
|
|
|
|
-
|
|
|
|
-#include <linux/fs.h>
|
|
|
|
-
|
|
|
|
-static int udf_fsync_inode(struct inode *, int);
|
|
|
|
-
|
|
|
|
-/*
|
|
|
|
- * File may be NULL when we are called. Perhaps we shouldn't
|
|
|
|
- * even pass file to fsync ?
|
|
|
|
- */
|
|
|
|
-
|
|
|
|
-int udf_fsync_file(struct file *file, struct dentry *dentry, int datasync)
|
|
|
|
-{
|
|
|
|
- struct inode *inode = dentry->d_inode;
|
|
|
|
-
|
|
|
|
- return udf_fsync_inode(inode, datasync);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-static int udf_fsync_inode(struct inode *inode, int datasync)
|
|
|
|
-{
|
|
|
|
- int err;
|
|
|
|
-
|
|
|
|
- err = sync_mapping_buffers(inode->i_mapping);
|
|
|
|
- if (!(inode->i_state & I_DIRTY))
|
|
|
|
- return err;
|
|
|
|
- if (datasync && !(inode->i_state & I_DIRTY_DATASYNC))
|
|
|
|
- return err;
|
|
|
|
-
|
|
|
|
- err |= udf_sync_inode(inode);
|
|
|
|
-
|
|
|
|
- return err ? -EIO : 0;
|
|
|
|
-}
|
|
|