]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug #988: src/fs/aufs/store_io_aufs.c fails to compile with ASYNC_WRITE set
authorserassio <>
Mon, 28 Mar 2005 04:47:38 +0000 (04:47 +0000)
committerserassio <>
Mon, 28 Mar 2005 04:47:38 +0000 (04:47 +0000)
Forward port of 2.5 patch.

src/DiskIO/DiskThreads/DiskThreadsDiskFile.cc

index 1694aae6c543dfae40aace927e2eecf9917dfdbf..d25d0a9962a559a7036809f8532c23a2a282d933 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: DiskThreadsDiskFile.cc,v 1.3 2005/01/03 16:08:27 robertc Exp $
+ * $Id: DiskThreadsDiskFile.cc,v 1.4 2005/03/27 21:47:38 serassio Exp $
  *
  * DEBUG: section 79    Disk IO Routines
  * AUTHOR: Robert Collins
@@ -309,7 +309,7 @@ DiskThreadsDiskFile::readDone(int rvfd, const char *buf, int len, int errflag, R
 void
 DiskThreadsDiskFile::
 #if ASYNC_WRITE
-WriteDone(int fd, void *my_data, int len, int errflag)
+WriteDone(int fd, void *my_data, const char *buf, int len, int errflag)
 #else
 WriteDone(int fd, int errflag, size_t len, void *my_data)
 #endif
@@ -325,20 +325,20 @@ DiskThreadsDiskFile::writeDone (int rvfd, int errflag, size_t len, WriteRequest:
 {
     assert (rvfd == fd);
     static int loop_detect = 0;
-    debug(79, 3) ("storeAufsWriteDone: FD %d, len %ld, err=%d\n",
-                  fd, (long int) len, errflag);
 
 #if ASYNC_WRITE
     /* Translate from errno to Squid disk error */
-    errno = errflag;
 
     if (errflag)
-        errflag = errno == ENOSPC ? DISK_NO_SPACE_LEFT : DISK_ERROR;
+        errflag = errflag == ENOSPC ? DISK_NO_SPACE_LEFT : DISK_ERROR;
     else
         errflag = DISK_OK;
 
 #endif
 
+    debug(79, 3) ("storeAufsWriteDone: FD %d, len %ld, err=%d\n",
+                  fd, (long int) len, errflag);
+
     assert(++loop_detect < 10);
 
     --inProgressIOs;