vold: Bugfixes & cleanups

  - Fix issue where container-names > 64 bytes were getting truncated in the
    kernel. lo_name is only 64 bytes in length, so we now hash the container
    id via md5
  - Add 'dump' command to dump loop and devicemapper status
  - Add 'debug' command to enable more detailed logging at runtime
  - Log vold IPC arguments (minus encryption keys)
  - Fix premature return from Loop::lookupActive() and friends

Change-Id: I0e833261a445ce9dc1a8187e5501d27daba1ca76
Signed-off-by: San Mehat <san@google.com>
diff --git a/VolumeManager.h b/VolumeManager.h
index 5ed6f21..b523f31 100644
--- a/VolumeManager.h
+++ b/VolumeManager.h
@@ -38,6 +38,7 @@
     VolumeCollection      *mVolumes;
     AsecIdCollection      *mActiveContainers;
     bool                   mUsbMassStorageConnected;
+    bool                   mDebug;
 
 public:
     virtual ~VolumeManager();
@@ -68,6 +69,8 @@
     int renameAsec(const char *id1, const char *id2);
     int getAsecMountPath(const char *id, char *buffer, int maxlen);
 
+    void setDebug(bool enable);
+
     // XXX: This should be moved private once switch uevents are working
     void notifyUmsConnected(bool connected);
 
@@ -76,6 +79,7 @@
 
     static VolumeManager *Instance();
 
+    static char *asecHash(const char *id, char *buffer, size_t len);
 private:
     VolumeManager();
     Volume *lookupVolume(const char *label);