History log of /system/vold/Volume.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7a3c3d462ebd58bda0ceaba9c00c385d44c13d08 05-Oct-2012 Jeff Sharkey <jsharkey@android.com> Unmount in-place instead of using MS_MOVE.

To support multi-user emulated storage, we mount rootfs as MS_SHARED,
which means we can't MS_MOVE existing mount points rooted in the
shared subtree. Initial staging is still able to MS_MOVE, since it's
rooted in a MS_PRIVATE tmpfs rooted at /mnt/secure.

This change fixes unmounting by operating in-place instead of trying
(and failing) to MS_MOVE back to staging.

Bug: 7127564
Change-Id: I4783db4319b61c0915da39361cbc7e8f4943d094
/system/vold/Volume.cpp
344ca10856f3d3087a3288ce8f91ad83665d93fb 04-Apr-2012 Kenny Root <kroot@google.com> Add in ext4 support for ASEC containers

Now forward locked applications will be in ASEC containers both internal
to the system and externally.

This change adds support for putting applications in ext4-based ASECs.

Change-Id: I8d6765b72dd2606e429c067b47a2dbcaa8bef37d
/system/vold/Volume.cpp
0b8b59719357fb80c330442787f7d5b1e332263b 01-Sep-2011 Ken Sumrall <ksumrall@android.com> Add the ability to revert a crypto mapping when unmounting a volume

Add the force_and_revert option to the unmount command which will force
the unmount, and revert a crypto mapping. This is used during factory
reset so that when the internal sdcard volume is formatted, it formats
the raw device, not the encrypted mapping.

Change-Id: I36b6ff9bb54863b121de635472a303bf4a2334a9
/system/vold/Volume.cpp
507d31b86b38dffe7c60ca5c54b5e631f5a7cab3 12-Apr-2011 Joseph Lehrer <jlehrer@nvidia.com> vold: retry mounting partition

Works around a race condition between the vold and MountService uevent handlers

Change-Id: I71c92f2e9b92e1fefc192da166a91d81bc60e242
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/vold/Volume.cpp
319b1043bbbd410aa2d572d88b5936f26072d026 14-Jun-2011 Ken Sumrall <ksumrall@android.com> Don't abort the encryption process if an internal volume is present but unmounted.

It is not a failure if the SD card is not mounted.

Change-Id: If954f77c55ac124b9b7b39c89ffbafb4e5ea9e98
/system/vold/Volume.cpp
29d8da8cefa99e436c13295d4c9bad060ca18a6d 19-May-2011 Ken Sumrall <ksumrall@android.com> vold: allow to store key in a file on another partition

Add support for keeping the keys in a separate file on another partition,
for devices with no space reserved for a footer after the userdata filesystem.

Add support for encrypting the volumes managed by vold, if they meet certain
criteria, namely being marked as nonremovable and encryptable in vold.fstab.
A bit of trickiness is required to keep vold happy.

Change-Id: Idf0611f74b56c1026c45742ca82e0c26e58828fe
/system/vold/Volume.cpp
850949485b390c0928ea2f4a7db47be73bebb718 25-Mar-2011 Mike Lockwood <lockwood@android.com> Only create android_secure mountpoint on the primary external storage volume.

Change-Id: I4069297a799260b8ecf355e91a1594b4f03126af
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/vold/Volume.cpp
9092b1dbd31406f6939045fbef70a297b8dbeb62 23-Mar-2011 Mike Lockwood <lockwood@android.com> Mount secondary external storage writable by AID_MEDIA_RW rather than AID_SDCARD_RW

Change-Id: I8bb658bb2ab66026f0a54f9c1f80fc5c6e8d918a
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/vold/Volume.cpp
2996451f777bd8fb00eeb45ccbb1dd57fc0fbe06 19-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am 1206e872: resolved conflicts for merge of 09f774b7 to gingerbread-plus-aosp

* commit '1206e872ce74aab253c39c3547bfaadc5e1f6011':
vold: fix an offset one bug that makes partition 4 unusable
vold: set state back to idle on formatting error
1206e872ce74aab253c39c3547bfaadc5e1f6011 19-Nov-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 09f774b7 to gingerbread-plus-aosp

Change-Id: I103db47198ad09783aa6539cde271df0fdb9c594
37dcda68d334f70e1f7f69a9817def65fe3ee717 16-Nov-2010 Olivier Bailly <olivier@google.com> Add missing include headers for compilation on Intel target for Google TV.

Change-Id: I9f71b5e871671d1d64ad37f78a8944653409b8e1
/system/vold/Volume.cpp
64382de1f93b84ca59f607da4b4fdbd77f1af67d 16-Nov-2010 Chih-Wei Huang <cwhuang@linux.org.tw> vold: set state back to idle on formatting error

On formatting error due to some reasons, the state is left at
Formatting, therefore the user is unable to mount the sdcard
again. The patch sets the state to Idle no matter formatting
error or not.

Change-Id: I62c78eb8299cc397ee5cc442890f8b3dbf09425c
/system/vold/Volume.cpp
a4886f1f8ed72e24a302a91a0ab18bc54b6f585e 21-Sep-2010 Mike Lockwood <lockwood@android.com> More fixes for internal FAT partitions:

Fix formatting partitions beyond the first partition.
Do not try to initialize the MBR when formatting only a single partition.

Change-Id: Ifbbd279b1c288b7b1b884a1a89248e3086ed735f
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/vold/Volume.cpp
2dfe297ec47559dbe2297a72bea71cf515c03797 18-Sep-2010 Mike Lockwood <lockwood@android.com> Fixes for devices with internal FAT file system:

Only share a single partition via UMS if a specific partition
is specified in vold.fstab (rather than "auto")

Do not fail to reformat if MBR cannot be found.

Change-Id: I544ca2ee325c308af656ab9f4732c788a964c156
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/vold/Volume.cpp
a3e06084564c86ff618c40f185f3676b8b629b94 27-Aug-2010 Kenny Root <kroot@google.com> Allow execute on mounted ASEC and OBB containers

This allows us to place shared libraries in these containers which may
only be loaded if they are executable.

Change-Id: I78fa9ab6d5c58ec8b98c40004da72aebc0aade2a
/system/vold/Volume.cpp
508c0e1605b795bbb51cb47d955b89f3df26ca94 12-Jul-2010 Kenny Root <kroot@google.com> Additional Obb functionality

* Rename all functions dealing with OBB files to mention Obb

* Add 'path' and 'list' functionality to OBB commands

* Store hashed filename in loop's lo_crypt_name and keep lo_file_name
for the real source filename. That way we can recover it later with an
ioctl call.

Change-Id: I29e468265988bfb931d981532d86d7be7b3adfc8
/system/vold/Volume.cpp
fb7c4d5a8a1031cf0e493ff182dcf458e5fe8c77 01-Jul-2010 Kenny Root <kroot@google.com> Add image mounting commands for OBB files

Allow the mounting of OBB filesystem images if they're encrypted with
twofish and in FAT filesystem format.

Change-Id: I54804e598f46b1f3a784ffe517ebd9d7626de7aa
/system/vold/Volume.cpp
97ac40e4e6f3ed0bd5d6878d7d8d4a54fcaecb76 24-Mar-2010 San Mehat <san@google.com> vold: Switch from LOG -> SLOG

Change-Id: I48ee8bd90b47f5845f069cdf4d1b8ba6ecdb1b39
Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
cb4dac8a5243f6673b0590019b5b28a01bd3e343 14-Mar-2010 San Mehat <san@google.com> vold: Remove autorun.inf at mount/unmount time if it exists

Change-Id: Ia57da8ee177453a601a23d965c2b4f16b6de46e5
Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
d9a4e358614a0c5f60cc76c0636ee4bb02004a32 12-Mar-2010 San Mehat <san@google.com> 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>
/system/vold/Volume.cpp
2a5b8ce09b8836a8463ef9beaaff865c36ca5e6a 10-Mar-2010 San Mehat <san@google.com> vold: Switch to using libdiskconfig for partition setup.
Also handles an issue where NPARTS=0 on a disk change uevent

Change-Id: I77c56f177dc65df91468bbd7d5fe1889db414d7a
Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
fcf24fe62f98c5d44431aa575555569c2c7a29b0 03-Mar-2010 San Mehat <san@google.com> vold: Add a versioned superblock to secure containers.

Add an un-encrypted superblock to the end of a secure container to
help identify the crypto cipher used. This is required in order to
provide some semblence of versioning, in case we have cause to
change the crypto type on an update - say for example switching
from software to hardware encryption, or from 128 -> a zillion
bit keys.

NOTE: This format is incompatible with previous secure containers.
After this change they will no longer be mountable.

Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
52c2ccb6d25b94b96685efd4803226727710fbae 24-Feb-2010 San Mehat <san@google.com> vold: Make asec sdcard dir a hidden dir

Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
3bb6020e461e8872e8df0775cba6eb32e06b93ec 20-Feb-2010 San Mehat <san@google.com> vold: Stage the mounting of media to hide the ASEC imagefile directory

In order to protect the '/android_secure' directory on VFAT removable media
from being mucked with by 3rd party applications on the device, we hide the
directory with a read-only, zero-sized tmpfs mounted on-top. A reference to the
hidden directory is kept by a bind-mount which is mounted at a location which
only root can access.

Staging consists of:
1. Mount checked media at a secure location (/mnt/secure/staging)
2. Ensure /android_secure exists on the media, (creating if it doesnt)
3. Bind-mount /mnt/secure/staging/android_secure -> /mnt/secure/asec
(where only root can access it)
4. Mount an RDONLY zero-sized tmpfs over /mnt/secure/staging/android_secure
5. Atomically move /mnt/secure/staging to the publicly accessable storage
directory (/mnt/sdcard)

Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
4ba8948dc16463053e21cda5744f519a555080d0 18-Feb-2010 San Mehat <san@google.com> vold: Add 'force' option to anything that can cause an unmount

Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
586536c60b773e3517531ad8a6cb0de6722c67fc 17-Feb-2010 San Mehat <san@google.com> vold: Refactor Processkiller and add command to return users of a mount point

Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
8c940ef7dbd423cadc92982b44a65ed1014389e2 13-Feb-2010 San Mehat <san@google.com> vold: Fix devmapper/ptmx fd leak, and give asec unmount more time

Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
62e5dd245bd508eabcba56b5680e2b28bfc2caf6 06-Feb-2010 San Mehat <san@google.com> vold: Reduce logspam and add 250ms delay before first unmount attempt

Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
eba65e9d438a05f1c5dfd0f8d31bc463a5d08eee 29-Jan-2010 San Mehat <san@google.com> vold: Bloat reduction
Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
fff0b47998a722d57eea6a07350bbd7a6032b3cc 07-Jan-2010 San Mehat <san@google.com> vold2: Enable support for custom mount perm masks and wire to asec

Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
a19b250bd273455933ca3502cf2c2e0a803aff77 06-Jan-2010 San Mehat <san@google.com> vold2: Initial support for Android Secure External Caches

Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
bf04185c88161f13118b9975cdff7967d49a4fa0 04-Jan-2010 San Mehat <san@google.com> vold2: Refactor FAT support into a separate class

Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
a2677e4ad01f250b0765f04adf0acfa6627efc98 13-Dec-2009 San Mehat <san@google.com> vold2: Get mounting/unmounting/formatting/sharing working

Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
dd9b8e92aaf330b48ddb40a7380588ef92b53de6 21-Oct-2009 San Mehat <san@google.com> vold2: Some more work on partitioning support

Signed-off-by: San Mehat <san@google.com>
/system/vold/Volume.cpp
49e2bce5b74129c26a35e25d4693cbfe98c4688e 13-Oct-2009 San Mehat <san@android.com> vold2: Wire up more of the mount function

Signed-off-by: San Mehat <san@android.com>
/system/vold/Volume.cpp
fd7f5875129adfe2845f4f3fffb17db3a89eea25 12-Oct-2009 San Mehat <san@android.com> vold2: Refactor the netlink event handling and better define how partitions/disks are handled

Signed-off-by: San Mehat <san@android.com>
/system/vold/Volume.cpp
f1b736bc5605e92e917ab27f5abf3ba839be2270 11-Oct-2009 San Mehat <san@android.com> system: vold2: Initial skeleton for vold2.

Let there be light.

Signed-off-by: San Mehat <san@android.com>
/system/vold/Volume.cpp