supriya kannery wrote:
Stefan Hajnoczi wrote:
On Fri, Nov 11, 2011 at 6:48 AM, Supriya Kannery
<supri...@linux.vnet.ibm.com> wrote:
+ }
+ if ((flags & BDRV_O_NOCACHE)) {
+ raw_rs->reopen_state.reopen_flags |= O_DIRECT;
+ } else {
+ raw_rs->reopen_state.reopen_flags &= ~O_DIRECT;
+ }
+ ret = fcntl_setfl(raw_rs->reopen_fd,
raw_rs->reopen_state.reopen_flags);
I wonder if this works on Solaris, FreeBSD, etc?
Perhaps there needs to be a fallback to the missing "else" case below...
ok. Will look into whether this will work on Solaris, FreeBSD etc..
This should work for all non-win Oses.
I have tested only in x86.
#ifndef _WIN32
/* Sets a specific flag */
int fcntl_setfl(int fd, int flag)
{
int flags;
flags = fcntl(fd, F_GETFL);
- thanks, Supriya