aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2005-09-22 15:14:27 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2005-09-22 15:14:27 +0000
commitf45f3c18ab56e1777a051f7d3d181502f4917ad0 (patch)
treed414e4b08acfa3b9f1c60232c95f69114bfd0a0e
parent41fdcd33a058799f5f443babf19d35ccb3f49c4a (diff)
downloadlibfuse-f45f3c18ab56e1777a051f7d3d181502f4917ad0.tar.gz
fix
-rw-r--r--ChangeLog5
-rw-r--r--kernel/file.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0729da7..e8e5ab0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-09-22 Miklos Szeredi <miklos@szeredi.hu>
+
+ * Slight optimization in returning EINVAL error in case of an open
+ with O_DIRECT flag.
+
2005-09-20 Miklos Szeredi <miklos@szeredi.hu>
* Remove '--enable-auto-modprobe' configure flag. Module
diff --git a/kernel/file.c b/kernel/file.c
index 3177946..19bd296 100644
--- a/kernel/file.c
+++ b/kernel/file.c
@@ -27,6 +27,10 @@ int fuse_open_common(struct inode *inode, struct file *file, int isdir)
struct fuse_file *ff;
int err;
+ /* VFS checks this, but only _after_ ->open() */
+ if (file->f_flags & O_DIRECT)
+ return -EINVAL;
+
err = generic_file_open(inode, file);
if (err)
return err;