1. 09 Jun, 2015 1 commit
    • Jeff Sharkey's avatar
      Add f2fs support for private volumes. · d0640f63
      Jeff Sharkey authored
      When formatting volumes, pass along fsType string which can be "auto"
      to let the volume select the best choice.  For now, private volumes
      assume that MMC devices (like SD cards) are best off using f2fs when
      both kernel support and tools are present, otherwise fall back to
      ext4.  Use blkid when mounting to pick the right set of tools.
      
      Move filesystem utility methods into namespaces and place in separate
      directory to be more organized.
      
      Bug: 20275581
      Change-Id: Id5f82d8672dda2e9f68c35b075f28232b0b55ed4
      d0640f63
  2. 04 Jun, 2015 2 commits
    • Paul Lawrence's avatar
      Move crypt commands to a different listener in vold · d0b4295c
      Paul Lawrence authored
      In order to prevent this bug from happening, we must allow vold cryptfs
      commands to complete while a long running mount is underway.
      
      While waiting for vold to be changed to a binder interface, we will simply
      create two listeners, one for cryptfs and one for everything else.
      
      Bug: 19197175
      Change-Id: If74142aa81abd58f718a9de6c9e387f6ea442754
      d0b4295c
    • Paul Lawrence's avatar
      Improve boot time · 0628fa25
      Paul Lawrence authored
      Bug: 21516860
      Change-Id: I3153c7f9a414a8eeadc0118f0a642ad8e96c81ce
      0628fa25
  3. 29 May, 2015 11 commits
  4. 19 May, 2015 2 commits
    • Jeff Sharkey's avatar
      Offer debug flag to force default primary. · 65427f1a
      Jeff Sharkey authored
      Useful for transforming a secondary SD card slot into a primary SD
      card slot without doing a completely different lunch target.
      
      $ adb shell stop
      $ adb shell setprop vold.debug.default_primary 1
      $ adb shell setprop ro.vold.primary_physical 1
      $ adb shell setprop ctl.restart vold
      $ adb shell start
      
      Bug: 21017105
      Change-Id: I45aac7ab3bb4c5ac3e0140572844883823fc3e4f
      65427f1a
    • Jeff Sharkey's avatar
      Fully sync filesystem before time measurements. · 721e5807
      Jeff Sharkey authored
      Also drop unneeded SCR register logging.
      
      Bug: 21172095
      Change-Id: I17c5aae2edc0eb7144ab38701f90a1fd54e119da
      721e5807
  5. 16 May, 2015 2 commits
  6. 15 May, 2015 1 commit
    • Jeff Sharkey's avatar
      Initial pass at storage benchmarks. · 5a6bfca1
      Jeff Sharkey authored
      Now that we're offering to store private app data on adopted storage
      devices, the performance of those devices is much more important to
      overall user experience.
      
      To help set user expectations, this change offers to execute a
      real-world benchmark on a storage device, returning a metric that can
      be used to compare internal and external storage.  The benchmark is
      generated from the strace-instrumented storage access patterns of
      typical apps.
      
      A typical device completes the benchmark in under two seconds on
      internal storage, a UHS-3 SD card is even faster (!), but a very slow
      Class 4 SD card takes about 30 seconds to complete, giving us a clear
      signal.
      
      The measured benchmark numbers are logged along with information
      about the storage device, such as manufacturer, model, etc.  Card
      serial numbers are scrubbed from output.
      
      Bug: 21172095
      Change-Id: I9b2713dafdfdfcf5d97bf1bc21841f39409a7e54
      5a6bfca1
  7. 13 May, 2015 2 commits
  8. 30 Apr, 2015 2 commits
  9. 29 Apr, 2015 3 commits
  10. 25 Apr, 2015 4 commits
  11. 24 Apr, 2015 1 commit
    • Jeff Sharkey's avatar
      Migrate primary external storage. · 1d6fbcc3
      Jeff Sharkey authored
      When requested, kick off a thread that will migrate storage contents
      between two locations.  This is performed in several steps that
      also interact with the framework:
      
      1. Take old and new volumes offline during migration
      2. Wipe new location clean (10% of progress)
      3. Copy files from old to new (60% of progress)
      4. Inform framework that move was successful so it can persist
      5. Wipe old location clean (15% of progress)
      
      Derives a hacky progress estimate by using a rough proxy of free
      disk space changes while a cp/rm is taking place.
      
      Add new internal path for direct access to volumes to bypass any
      FUSE emulation overhead, and send it to framework.  Remove mutex
      around various exec calls since setexeccon() is already per-thread.
      
      Bug: 19993667
      Change-Id: Ibcb4f6fe0126d05b2365f316f53e71dc3e79a2b8
      1d6fbcc3
  12. 21 Apr, 2015 1 commit
    • Jeff Sharkey's avatar
      Wider volume mutation lock, move force adoptable. · c8e04c5a
      Jeff Sharkey authored
      We eventually should move back to per-disk locks, but use a giant
      lock to keep development rolling forward.  Also move force adoptable
      flag to framework since, since encrypted devices don't have persisted
      properties loaded early during boot.
      
      Bug: 19993667
      Change-Id: Ifa3016ef41b038f8f71fc30bc81596cfd21dcd2a
      c8e04c5a
  13. 19 Apr, 2015 2 commits
  14. 18 Apr, 2015 2 commits
    • Jeff Sharkey's avatar
      Switch logging to system log, persistable prop. · 5bad3780
      Jeff Sharkey authored
      Use system log for more durable log history.  Also accept persistable
      version of flag to force adoptability.
      
      Bug: 19993667
      Change-Id: Icdf36799e26038e9a8e2bdaca276d97b22ba3941
      5bad3780
    • Jeff Sharkey's avatar
      Volumes know parent disks; unsupported disks. · f1b996df
      Jeff Sharkey authored
      This is cleaner and more direct than the reverse of having the disk
      publish child volume membership.  Rename state constants to match
      public API.  Add state representing bad removal.  Make it clear that
      volume flags are related to mounting.
      
      Send new unsupported disk event when we finish scanning an entire
      disk and have no meaningful volumes.
      
      Bug: 19993667
      Change-Id: I08a91452ff561171a484d1da5745293ec893aec0
      f1b996df
  15. 15 Apr, 2015 2 commits
    • Jeff Sharkey's avatar
      Lock while partitioning. · 7d9d0118
      Jeff Sharkey authored
      Otherwise we get really excited and trip over ourselves while
      partitions are still being created.
      
      Bug: 19993667
      Change-Id: I034e56b3063a71d73f9311a945c05ea2ae255f7d
      7d9d0118
    • Jeff Sharkey's avatar
      Don't be picky about zap status. · ffeb0079
      Jeff Sharkey authored
      Bug: 19993667
      Change-Id: Id125d9252bf7130516c0ec619d5f067fea24d560
      ffeb0079
  16. 14 Apr, 2015 1 commit
  17. 13 Apr, 2015 1 commit