[Title]fix not truncating kernel log problem and remove annotaions
authormunkyu.im <munkyu.im@samsung.com>
Tue, 4 Sep 2012 04:50:02 +0000 (13:50 +0900)
committermunkyu.im <munkyu.im@samsung.com>
Tue, 4 Sep 2012 04:50:02 +0000 (13:50 +0900)
[Type]Bugfix
[Module]
[Priority]
[CQ#]S1-8252
[Redmine#]
[Problem]
[Cause]
[Solution]add O_TRUNC option when file open
[TestCase]

block/raw-win32.c
qemu-char.c

index 03e9b76..bbd4a57 100644 (file)
@@ -110,13 +110,6 @@ static int raw_open(BlockDriverState *bs, const char *filename, int flags)
     }
 
 #else
-       /*
-    s->hfile = CreateFile(g_win32_locale_filename_from_utf8(filename),
-                          access_flags,
-                          FILE_SHARE_READ, NULL,
-                          OPEN_EXISTING, overlapped, NULL);
-       */
-
 #include <errno.h>
        int open_flags = O_BINARY;
        open_flags &= ~O_ACCMODE;
index 554b127..299fd59 100644 (file)
@@ -1527,13 +1527,7 @@ static int win_chr_init(CharDriverState *chr, const char *filename)
                       GENERIC_READ|GENERIC_WRITE, 0, NULL,
                       OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
 #else
-       /*
-       s->hcom = CreateFile(g_win32_locale_filename_from_utf8(filename),
-                      GENERIC_READ|GENERIC_WRITE, 0, NULL,
-                      OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
-       */
-       int open_flags = O_BINARY;
-       open_flags |= O_RDWR;
+       int open_flags = O_BINARY | O_RDWR;
        // TODO : FILE_FLAG_OVERLAPPED
 
        int ret = qemu_open(filename, open_flags, 0644);
@@ -1836,13 +1830,7 @@ static int qemu_chr_open_win_file_out(QemuOpts *opts, CharDriverState **_chr)
     fd_out = CreateFile(file_out, GENERIC_WRITE, FILE_SHARE_READ, NULL,
                         OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
 #else
-       /*
-    fd_out = CreateFile(g_win32_locale_filename_from_utf8(file_out), GENERIC_WRITE, FILE_SHARE_READ, NULL,
-                        CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
-       */
-       int open_flags = O_BINARY;
-       open_flags |= O_RDWR;
-       open_flags |= O_CREAT;
+       int open_flags = O_BINARY | O_RDWR | O_CREAT | O_TRUNC;
 
        int ret = qemu_open(file_out, open_flags, 0644);
        if (ret < 0) {