Revision 9f7965c7 block-raw-win32.c

b/block-raw-win32.c
104 104
#else
105 105
    overlapped = FILE_ATTRIBUTE_NORMAL;
106 106
#endif
107
    if (flags & BDRV_O_DIRECT)
107
    if ((flags & BDRV_O_NOCACHE))
108 108
        overlapped |= FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH;
109
    else if (!(flags & BDRV_O_CACHE_WB))
110
        overlapped |= FILE_FLAG_WRITE_THROUGH;
109 111
    s->hfile = CreateFile(filename, access_flags,
110 112
                          FILE_SHARE_READ, NULL,
111 113
                          create_flags, overlapped, NULL);
......
440 442
#else
441 443
    overlapped = FILE_ATTRIBUTE_NORMAL;
442 444
#endif
443
    if (flags & BDRV_O_DIRECT)
445
    if ((flags & BDRV_O_NOCACHE))
444 446
        overlapped |= FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH;
447
    else if (!(flags & BDRV_O_CACHE_WB))
448
        overlapped |= FILE_FLAG_WRITE_THROUGH;
445 449
    s->hfile = CreateFile(filename, access_flags,
446 450
                          FILE_SHARE_READ, NULL,
447 451
                          create_flags, overlapped, NULL);

Also available in: Unified diff