Fix bug in user xseglog2
authorFilippos Giannakos <philipgian@grnet.gr>
Mon, 8 Apr 2013 15:37:00 +0000 (18:37 +0300)
committerFilippos Giannakos <philipgian@grnet.gr>
Fri, 17 May 2013 08:57:54 +0000 (11:57 +0300)
(cherry picked from commit c30767e3f311fd97bb1f5f546b8654911d712072)

xseg/sys/user/xseg_user.c

index f84bc66..6f70228 100644 (file)
@@ -275,12 +275,16 @@ void __xseg_log2(struct log_ctx *lc, enum log_level level, char *fmt, ...)
                if (r < 0){
                        if (errno == EBADF)
                                fd = *(volatile int *)&lc->logfile;
-                       else
+                       else {
                                //XSEGLOG("Error while writing log");
                                break;
+                       }
+               } else {
+                       sum += r;
                }
-               sum += r;
        } while (sum < count);
+       /* No need to check for error */
+       //fsync(fd);
        va_end(ap);
 
        return;