copy-blockdev: Add to print log if posix_fadvise is failed 32/314632/1
authorSangYoun Kwak <sy.kwak@samsung.com>
Tue, 16 Jul 2024 10:58:31 +0000 (19:58 +0900)
committerSangYoun Kwak <sy.kwak@samsung.com>
Tue, 16 Jul 2024 10:58:31 +0000 (19:58 +0900)
posix_fadvise() returns non-zero value(error number) if fails.
To make debug easier, log message is added if it returns non-zero value.

Change-Id: I5436897f11a7cd6a98210df7a53f16f427b2f034
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
src/copy-blockdev/lib.c

index 4411104a2c6a7248d979f605b855f4cec12db3de..629e8852f9c5a0bb9afd2abdd76cda430fa84fb4 100644 (file)
@@ -245,6 +245,7 @@ void fd_cleanup(int *fd)
 }
 
 int copy_and_update_progress(struct params_t *params) {
+    int ret = 0;
     int prev_progress = params->progress_from;
     int progress = params->progress_from;
     ssize_t bytes_copied = 0;
@@ -267,8 +268,13 @@ int copy_and_update_progress(struct params_t *params) {
         return ERR_DST_OPEN;
     }
 
-    posix_fadvise(fd_src, 0, 0, POSIX_FADV_SEQUENTIAL);
-    posix_fadvise(fd_dst, 0, 0, POSIX_FADV_SEQUENTIAL);
+    ret = posix_fadvise(fd_src, 0, 0, POSIX_FADV_SEQUENTIAL);
+    if (ret != 0)
+        fprintf(stderr, "Cannot call posix_fadvise for src: %s\n", strerror(ret));
+
+    ret = posix_fadvise(fd_dst, 0, 0, POSIX_FADV_SEQUENTIAL);
+    if (ret != 0)
+        fprintf(stderr, "Cannot call posix_fadvise for dst: %s\n", strerror(ret));
 
     fprintf(stderr, "%s -> %s: %3d%% (%3d%% overall)", params->src, params->dst, 0, (int) params->progress_from);