OSDN Git Service

cryptfs: log umount() failure reason
authorGreg Hackmann <ghackmann@google.com>
Wed, 24 Sep 2014 21:55:20 +0000 (14:55 -0700)
committerGreg Hackmann <ghackmann@google.com>
Wed, 24 Sep 2014 22:47:25 +0000 (15:47 -0700)
Bug: 17576594

Change-Id: I7320aa597210896b4db6e663e1b2cb0c24d96557
Signed-off-by: Greg Hackmann <ghackmann@google.com>
cryptfs.c

index cc1a52a..42d8bec 100644 (file)
--- a/cryptfs.c
+++ b/cryptfs.c
@@ -1428,7 +1428,7 @@ static int create_encrypted_random_key(char *passwd, unsigned char *master_key,
 
 static int wait_and_unmount(char *mountpoint)
 {
-    int i, rc;
+    int i, err, rc;
 #define WAIT_UNMOUNT_COUNT 20
 
     /*  Now umount the tmpfs filesystem */
@@ -1440,6 +1440,7 @@ static int wait_and_unmount(char *mountpoint)
                  */
                 break;
             }
+            err = errno;
             sleep(1);
             i++;
         } else {
@@ -1452,7 +1453,7 @@ static int wait_and_unmount(char *mountpoint)
       rc = 0;
     } else {
       vold_killProcessesWithOpenFiles(mountpoint, 0);
-      SLOGE("unmounting %s failed\n", mountpoint);
+      SLOGE("unmounting %s failed: %s\n", mountpoint, strerror(err));
       rc = -1;
     }