Messages in this thread Patch in this message | | | Date | Fri, 25 Feb 2011 16:52:36 -0500 | From | Steve Rago <> | Subject | [PATCH] Allow O_SYNC to be set by fcntl(F_SETFL) |
| |
This has probably been a problem since day 1 (I ran into this running the 2.4 kernel years ago; finally got around to fixing it). The problem is that fcntl(fd, F_SETFL, flags|O_SYNC) appears to work, but silently ignores the O_SYNC flag. Opening the file with O_SYNC works okay, but setting it later on via fcntl doesn't work.
Signed-off-by: Steve Rago <sar@nec-labs.com> --- fs/fcntl.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/fcntl.c b/fs/fcntl.c index cb10261..afd233a 100644 --- a/fs/fcntl.c +++ b/fs/fcntl.c @@ -143,7 +143,7 @@ SYSCALL_DEFINE1(dup, unsigned int, fildes) return ret; }
-#define SETFL_MASK (O_APPEND | O_NONBLOCK | O_NDELAY | O_DIRECT | O_NOATIME) +#define SETFL_MASK (O_APPEND | O_NONBLOCK | O_NDELAY | O_DIRECT | O_NOATIME | O_SYNC)
static int setfl(int fd, struct file * filp, unsigned long arg) { -- 1.7.2.1
| |