diff options
Diffstat (limited to 'fs/nfs/nfs4file.c')
-rw-r--r-- | fs/nfs/nfs4file.c | 33 |
1 files changed, 1 insertions, 32 deletions
diff --git a/fs/nfs/nfs4file.c b/fs/nfs/nfs4file.c index 57ca1c8039c1..22c35abbee9d 100644 --- a/fs/nfs/nfs4file.c +++ b/fs/nfs/nfs4file.c | |||
@@ -128,37 +128,6 @@ nfs4_file_flush(struct file *file, fl_owner_t id) | |||
128 | return vfs_fsync(file, 0); | 128 | return vfs_fsync(file, 0); |
129 | } | 129 | } |
130 | 130 | ||
131 | static int | ||
132 | nfs4_file_fsync(struct file *file, loff_t start, loff_t end, int datasync) | ||
133 | { | ||
134 | int ret; | ||
135 | struct inode *inode = file_inode(file); | ||
136 | |||
137 | trace_nfs_fsync_enter(inode); | ||
138 | |||
139 | nfs_inode_dio_wait(inode); | ||
140 | do { | ||
141 | ret = filemap_write_and_wait_range(inode->i_mapping, start, end); | ||
142 | if (ret != 0) | ||
143 | break; | ||
144 | inode_lock(inode); | ||
145 | ret = nfs_file_fsync_commit(file, start, end, datasync); | ||
146 | if (!ret) | ||
147 | ret = pnfs_sync_inode(inode, !!datasync); | ||
148 | inode_unlock(inode); | ||
149 | /* | ||
150 | * If nfs_file_fsync_commit detected a server reboot, then | ||
151 | * resend all dirty pages that might have been covered by | ||
152 | * the NFS_CONTEXT_RESEND_WRITES flag | ||
153 | */ | ||
154 | start = 0; | ||
155 | end = LLONG_MAX; | ||
156 | } while (ret == -EAGAIN); | ||
157 | |||
158 | trace_nfs_fsync_exit(inode, ret); | ||
159 | return ret; | ||
160 | } | ||
161 | |||
162 | #ifdef CONFIG_NFS_V4_2 | 131 | #ifdef CONFIG_NFS_V4_2 |
163 | static loff_t nfs4_file_llseek(struct file *filep, loff_t offset, int whence) | 132 | static loff_t nfs4_file_llseek(struct file *filep, loff_t offset, int whence) |
164 | { | 133 | { |
@@ -266,7 +235,7 @@ const struct file_operations nfs4_file_operations = { | |||
266 | .open = nfs4_file_open, | 235 | .open = nfs4_file_open, |
267 | .flush = nfs4_file_flush, | 236 | .flush = nfs4_file_flush, |
268 | .release = nfs_file_release, | 237 | .release = nfs_file_release, |
269 | .fsync = nfs4_file_fsync, | 238 | .fsync = nfs_file_fsync, |
270 | .lock = nfs_lock, | 239 | .lock = nfs_lock, |
271 | .flock = nfs_flock, | 240 | .flock = nfs_flock, |
272 | .splice_read = nfs_file_splice_read, | 241 | .splice_read = nfs_file_splice_read, |