aboutsummaryrefslogtreecommitdiffstats
path: root/fs/exofs/file.c
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
commitc71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch)
treeecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /fs/exofs/file.c
parentea53c912f8a86a8567697115b6a0d8152beee5c8 (diff)
parent6a00f206debf8a5c8899055726ad127dbeeed098 (diff)
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts: litmus/sched_cedf.c
Diffstat (limited to 'fs/exofs/file.c')
-rw-r--r--fs/exofs/file.c20
1 files changed, 1 insertions, 19 deletions
diff --git a/fs/exofs/file.c b/fs/exofs/file.c
index 68cb23e3bb98..45ca323d8363 100644
--- a/fs/exofs/file.c
+++ b/fs/exofs/file.c
@@ -45,26 +45,8 @@ static int exofs_release_file(struct inode *inode, struct file *filp)
45static int exofs_file_fsync(struct file *filp, int datasync) 45static int exofs_file_fsync(struct file *filp, int datasync)
46{ 46{
47 int ret; 47 int ret;
48 struct inode *inode = filp->f_mapping->host;
49 struct writeback_control wbc = {
50 .sync_mode = WB_SYNC_ALL,
51 .nr_to_write = 0, /* metadata-only; caller takes care of data */
52 };
53 struct super_block *sb;
54
55 if (!(inode->i_state & I_DIRTY))
56 return 0;
57 if (datasync && !(inode->i_state & I_DIRTY_DATASYNC))
58 return 0;
59
60 ret = sync_inode(inode, &wbc);
61
62 /* This is a good place to write the sb */
63 /* TODO: Sechedule an sb-sync on create */
64 sb = inode->i_sb;
65 if (sb->s_dirt)
66 exofs_sync_fs(sb, 1);
67 48
49 ret = sync_inode_metadata(filp->f_mapping->host, 1);
68 return ret; 50 return ret;
69} 51}
70 52