]> granicus.if.org Git - transmission/commitdiff
Change `tr_sys_file_prefetch` behavior a bit
authorMike Gelfand <mikedld@mikedld.com>
Sat, 8 Jul 2017 09:51:36 +0000 (12:51 +0300)
committerMike Gelfand <mikedld@mikedld.com>
Sat, 8 Jul 2017 09:51:36 +0000 (12:51 +0300)
Return true by default. Only return false if we did in fact perform some
action and it failed.

libtransmission/file-posix.c
libtransmission/file-win32.c

index 43e04fdc136a4fb4c4fd9cc8401ef1a3dc8cb593..a5fbe998e5b31e953900ac54b78d2ca7ee2e49d4 100644 (file)
@@ -748,19 +748,16 @@ bool tr_sys_file_prefetch(tr_sys_file_t handle, uint64_t offset, uint64_t size,
     TR_ASSERT(handle != TR_BAD_SYS_FILE);
     TR_ASSERT(size > 0);
 
-    bool ret = false;
+    bool ret = true;
 
 #if defined(HAVE_POSIX_FADVISE)
 
     int code = posix_fadvise(handle, offset, size, POSIX_FADV_WILLNEED);
 
-    if (code == 0)
-    {
-        ret = true;
-    }
-    else
+    if (code != 0)
     {
         set_system_error(error, code);
+        ret = false;
     }
 
 #elif defined(__APPLE__)
index de0ef95d570bf1281119c3df274aaffbc16570cd..8bcb660d6cbae3769e730b16cd3be525f521ab3b 100644 (file)
@@ -1108,7 +1108,7 @@ bool tr_sys_file_prefetch(tr_sys_file_t handle, uint64_t offset, uint64_t size,
     (void)size;
     (void)error;
 
-    bool ret = false;
+    bool ret = true;
 
     /* ??? */