diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2009-06-07 15:21:06 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2009-06-11 21:36:12 -0400 |
commit | 0d7916d7e985da52cdd2989c900485e17b035972 (patch) | |
tree | dfb4992f5150ece7ebb09754501e9e5981bb12ca /fs/minix/file.c | |
parent | e1740a462ecb2eae213be15857b577cc6f6bb8b4 (diff) |
switch minix to simple_fsync()
* get minix_write_inode() to honour the second argument
* now we can use simple_fsync() for minixfs
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/minix/file.c')
-rw-r--r-- | fs/minix/file.c | 20 |
1 files changed, 1 insertions, 19 deletions
diff --git a/fs/minix/file.c b/fs/minix/file.c index 17765f697e50..3eec3e607a87 100644 --- a/fs/minix/file.c +++ b/fs/minix/file.c | |||
@@ -6,15 +6,12 @@ | |||
6 | * minix regular file handling primitives | 6 | * minix regular file handling primitives |
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include <linux/buffer_head.h> /* for fsync_inode_buffers() */ | ||
10 | #include "minix.h" | 9 | #include "minix.h" |
11 | 10 | ||
12 | /* | 11 | /* |
13 | * We have mostly NULLs here: the current defaults are OK for | 12 | * We have mostly NULLs here: the current defaults are OK for |
14 | * the minix filesystem. | 13 | * the minix filesystem. |
15 | */ | 14 | */ |
16 | int minix_sync_file(struct file *, struct dentry *, int); | ||
17 | |||
18 | const struct file_operations minix_file_operations = { | 15 | const struct file_operations minix_file_operations = { |
19 | .llseek = generic_file_llseek, | 16 | .llseek = generic_file_llseek, |
20 | .read = do_sync_read, | 17 | .read = do_sync_read, |
@@ -22,7 +19,7 @@ const struct file_operations minix_file_operations = { | |||
22 | .write = do_sync_write, | 19 | .write = do_sync_write, |
23 | .aio_write = generic_file_aio_write, | 20 | .aio_write = generic_file_aio_write, |
24 | .mmap = generic_file_mmap, | 21 | .mmap = generic_file_mmap, |
25 | .fsync = minix_sync_file, | 22 | .fsync = simple_fsync, |
26 | .splice_read = generic_file_splice_read, | 23 | .splice_read = generic_file_splice_read, |
27 | }; | 24 | }; |
28 | 25 | ||
@@ -30,18 +27,3 @@ const struct inode_operations minix_file_inode_operations = { | |||
30 | .truncate = minix_truncate, | 27 | .truncate = minix_truncate, |
31 | .getattr = minix_getattr, | 28 | .getattr = minix_getattr, |
32 | }; | 29 | }; |
33 | |||
34 | int minix_sync_file(struct file * file, struct dentry *dentry, int datasync) | ||
35 | { | ||
36 | struct inode *inode = dentry->d_inode; | ||
37 | int err; | ||
38 | |||
39 | err = sync_mapping_buffers(inode->i_mapping); | ||
40 | if (!(inode->i_state & I_DIRTY)) | ||
41 | return err; | ||
42 | if (datasync && !(inode->i_state & I_DIRTY_DATASYNC)) | ||
43 | return err; | ||
44 | |||
45 | err |= minix_sync_inode(inode); | ||
46 | return err ? -EIO : 0; | ||
47 | } | ||