summaryrefslogtreecommitdiff
path: root/osdep.c
diff options
context:
space:
mode:
authorCorey Bryant <coreyb@linux.vnet.ibm.com>2012-10-18 16:41:04 -0400
committerKevin Wolf <kwolf@redhat.com>2012-10-24 10:26:22 +0200
commit3b6eda2f57a5b7ed047077b6272c2b5a9e3531ca (patch)
tree89fbc3809331fa2c8c50c70a6b4589e25031437b /osdep.c
parent9dfa9f593045d70572ebfd94f59cd33ec99e847c (diff)
downloadqemu-3b6eda2f57a5b7ed047077b6272c2b5a9e3531ca.tar.gz
osdep: Less restrictive F_SEFL in qemu_dup_flags()
qemu_dup_flags() currently limits the flags that can be set on the fcntl() F_SETFL call to those that we currently know can be set with fcntl() F_SETFL. The problem with this is that it will prevent use of new flags in the future without a code update. This patch relaxes the checking and lets fcntl() determine the flags it can set. Signed-off-by: Corey Bryant <coreyb@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'osdep.c')
-rw-r--r--osdep.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/osdep.c b/osdep.c
index 3b25297a25..c822a01c04 100644
--- a/osdep.c
+++ b/osdep.c
@@ -88,7 +88,6 @@ static int qemu_dup_flags(int fd, int flags)
int ret;
int serrno;
int dup_flags;
- int setfl_flags;
#ifdef F_DUPFD_CLOEXEC
ret = fcntl(fd, F_DUPFD_CLOEXEC, 0);
@@ -113,16 +112,7 @@ static int qemu_dup_flags(int fd, int flags)
}
/* Set/unset flags that we can with fcntl */
- setfl_flags = O_APPEND | O_ASYNC | O_NONBLOCK;
-#ifdef O_NOATIME
- setfl_flags |= O_NOATIME;
-#endif
-#ifdef O_DIRECT
- setfl_flags |= O_DIRECT;
-#endif
- dup_flags &= ~setfl_flags;
- dup_flags |= (flags & setfl_flags);
- if (fcntl(ret, F_SETFL, dup_flags) == -1) {
+ if (fcntl(ret, F_SETFL, flags) == -1) {
goto fail;
}