aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-02-09 21:12:07 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2014-02-09 21:12:07 -0500
commitf94aa7c7f1fc474be776e4bf88088d5a007d3575 (patch)
treeba607798fb9e9136d267353b9b5c1b4dd50f4819 /include/linux
parent9c1db7798141e2658e4b5bb170128dfdc3270ff4 (diff)
parentc9efe51165fa0aff57be54e3cb0201ac87f68980 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs fixes from Al Viro: "A couple of fixes, both -stable fodder. The O_SYNC bug is fairly old..." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: fix a kmap leak in virtio_console fix O_SYNC|O_APPEND syncing the wrong range on write()
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/fs.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index d79678c188ad..60829565e552 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2274,7 +2274,13 @@ extern int filemap_fdatawrite_range(struct address_space *mapping,
2274extern int vfs_fsync_range(struct file *file, loff_t start, loff_t end, 2274extern int vfs_fsync_range(struct file *file, loff_t start, loff_t end,
2275 int datasync); 2275 int datasync);
2276extern int vfs_fsync(struct file *file, int datasync); 2276extern int vfs_fsync(struct file *file, int datasync);
2277extern int generic_write_sync(struct file *file, loff_t pos, loff_t count); 2277static inline int generic_write_sync(struct file *file, loff_t pos, loff_t count)
2278{
2279 if (!(file->f_flags & O_DSYNC) && !IS_SYNC(file->f_mapping->host))
2280 return 0;
2281 return vfs_fsync_range(file, pos, pos + count - 1,
2282 (file->f_flags & __O_SYNC) ? 0 : 1);
2283}
2278extern void emergency_sync(void); 2284extern void emergency_sync(void);
2279extern void emergency_remount(void); 2285extern void emergency_remount(void);
2280#ifdef CONFIG_BLOCK 2286#ifdef CONFIG_BLOCK