• R/O
  • HTTP
  • SSH

system-vold: List of commits


Rev. Tiempo Autor
97cabd2 q-x86 2020-06-01 20:34:05 server158

Allow mounting a read-only exFAT file system

If exfat::Check() fails, re-check the file system in read-only mode.
The logic is similar to exfat::Mount().

822b459 pie-x86 2020-06-01 20:30:29 Chih-Wei Huang

Allow mounting a read-only exFAT file system

If exfat::Check() fails, re-check the file system in read-only mode.
The logic is similar to exfat::Mount().

0fd6a4f 2020-05-05 01:52:12 Chih-Wei Huang

Support mounting exfat via fuse

2701925 2020-05-05 01:49:35 Chih-Wei Huang

Support mounting exfat via fuse

b94ff27 2020-01-07 17:46:37 Chih-Wei Huang

Revert "Remove waitpid on UnMount"

The sdcard with fuse support runs in daemon mode.

This reverts commit 8b9a5b344e9f467621f07040567e5231da413f46.

db26909 2019-12-17 14:19:56 Chih-Wei Huang

vold3: check supported filesystem modules

If there is a filesystem module of the requested type,
it should be considered supported.

Note the kernel will auto load the filesystem module
on mounting by modprobe.

d080780 2019-12-17 14:19:56 Chih-Wei Huang

vold3: support UDF (Universal Disk Format)

Refer to

5511ffb 2019-12-17 14:19:56 Chih-Wei Huang

vold3: auto mount CDROM

Luo Chunbo's ISO9660 support (commit 133632d5) is not complete. Still
need to handle block devices with major number of CDROM.

1a6fe4a 2019-12-17 14:19:56 Chih-Wei Huang

Move kMajor* constants to a header file

Currently each cpp defines its own kMajor* that can't be shared.
Move the kMajor* to a header to avoid duplicate definitions.

Change isVirtioBlkDevice() to be a public static method of Disk
so that the logic could be shared as well.

475e676 2019-12-17 14:19:56 Luo Chunbo

vold: ISO9660 support

Ref: T7691

Change-Id: Ifc602781e7d87aea9f3181263e09ffe143e9a231
Signed-off-by: Luo Chunbo <>

7392f9d 2019-12-17 14:19:56 Chih-Wei Huang

vold3: support the old SDCARD=xxx function

By specifying SDCARD=xxx in kernel cmdline, vold will try to mount
that disk or partition as a sdcard. This is an old function we've
added to vold 2.0. Now re-implement it in vold 3.0. Some people
still like and use it.

53d0763 2019-12-17 14:19:56 Tom Marshall

vold: Honor mount options for ext4/f2fs partitions

* Save mount options and fstype for DiskPartition objects
* Pass mount options and fstype to PublicVolume ctor
* Pass mount options to ext4::Mount/f2fs:Mount
* Use specified/default fstype if blkid fails

This is trivially extensible for other fs types.

[mikeioannina] Adapt for Pie
[cwhuang] Adapt for Android Q

Change-Id: Ie5dd27f26a4a7129dd9efe6a7ad0a589928282a0

48737e6 2019-12-17 14:19:56 Tom Marshall

vold: Support internal storage partitions

* Support nonremovable disks and expose a nonremovable flag in the
DiskCreated message.
* New DiskPartition class to hold single partitions. DiskPartition is
used when the fs_mgr entry has a partnum (eg. when fs_mgr_flags
contains voldmanaged=label:#). Override disk partitioning methods
to prevent destroying the emmc.

Change-Id: Id7ec3ea409b5c96e691730604e4b1e9cc3aa9d33

vold: Correct base header paths

These headers were moved to android-base

Change-Id: I3eaa8316006b9017c5f5e31cd1e91efc2862106d

DiskPartition.cpp: Add sysmacros.h dependency for major/minor

Change-Id: I22c267c8f12b40fb3e2295becd88f12b75907b69
Signed-off-by: Adrian DC <>

[mikeioannina] Adapt for Pie

Change-Id: Id7ec3ea409b5c96e691730604e4b1e9cc3aa9d33

7268c25 2019-12-17 14:19:56 Dan Pasanen

vold: add support for more filesystems for public storage

* Add exfat and ntfs support based off f2fs and ported to use fuse
* Add support for both along with f2fs and ext4 to PublicVolume
* Also attempt to mount any volume if it's been determined that
the kernel supports it

Change-Id: I0a83761cefd97791e3ec84a18e199dfd27a5ed0b

vold: fs: Fix build errors

* Migrate from base to android-base
* Add missing , in Ext4 Mount function

[AdrianDC] Ignore unpatched ext4 arguments
[mikeioannina] Update for Pie native exfat
[cwhuang] Update for Android Q

Change-Id: I875b5763c472aa7da2976ec7c5db7cf28c913876

vold: ntfs: Use strlcat

Clang now enforces length checking :/

Change-Id: I495b4cb2ee530e72b1084248f0549d63589523b0

Change-Id: I0a83761cefd97791e3ec84a18e199dfd27a5ed0b

b26f19c oreo-x86 android-x86-8.1-r3 android-x86-8.1-r4 android-x86-8.1-r5 2019-10-24 13:00:56 Chih-Wei Huang

Android 8.1.0 Release 69 (5794017)


Merge tag 'android-8.1.0_r69' into oreo-x86

Android 8.1.0 Release 69 (5794017)

7f6172b nougat-x86 android-x86-7.1-r3 android-x86-7.1-r4 2019-10-16 23:36:58 Chih-Wei Huang

Android 7.1.2 Release 39 (5787804)


Merge tag 'android-7.1.2_r39' into nougat-x86

Android 7.1.2 Release 39 (5787804)

08e6ac3 2019-09-22 08:10:35 android-build-team Robot

Snap for 5892339 from 1b535e41fd6c1b666cf806aae782cf621b7782bc to qt-qpr1-release

Change-Id: Ibb3cf7ec9163d5870c6b51d8d14bdf4985b63feb

706bcd1 android-x86-9.0-r1 android-x86-9.0-r2 2019-09-20 15:12:58 Chih-Wei Huang

Android 9.0.0 release 48


Merge tag 'android-9.0.0_r48' into pie-x86

Android 9.0.0 release 48

b92d2cd 2019-09-19 12:13:25 android-build-team Robot

Snap for 5885124 from ccc84dec9613ee9c8fdbd734fc6bd58052a8336f to qt-qpr1-release

Change-Id: I0f78ab10be71bca6f4230d4ac0e43a91b71d0c28

1b535e4 2019-09-19 08:22:30 Paul Lawrence

Fix crash in mainline

Current behavior:

Assume not checkpointing
cp_startCheckpoint creates the file in metadata
cp_needsCheckpoint will now set isCheckpointing to true
cp_commitCheckpoint will now think there is a checkpoint, and try to
commit it. This will fail on ext4 and it will return false, leading to
bad things.

cp_startCheckpoint is called when staging an apex module for update.
After this point, several things could go wrong:

If a keystore key is deleted, it calls cp_needsCheckpoint to see if the
delete should be deferred until cp_commitCheckpoint. The delete will now
be deferred, meaning that this key will never be deleted, using up the
key sots in trustzone

If a trim is scheduled through idle maintenance, this also calls
cp_needsCheckpoint, so the trims will not occur.

If either of these happens before a system crash, the device will not
recover since the system calls commitCheckpoint which will now crash.

When the system then goes on to reboot, the checkpoint will not be
triggered, since the commitCheckpoint call will have deleted the
checkpoint flag file before crashing.

Bug: 138952436
Test: vdc checkpoint startCheckpoint 5
vdc checkpoint needsCheckpoint
vdc checkpoint commitChanges

commitChanges fails, then device loops

After applying this test, commitChanges succeeds and device does
not loop

Change-Id: I135099625f77344d1f8d2e8688735871c44ef2f5
Merged-In: I135099625f77344d1f8d2e8688735871c44ef2f5

ccc84de 2019-09-18 03:44:18 Paul Crowley

Create a per-boot key on each boot

Bug: 140882488
Test: Booted twice, checked logs to ensure encryption
is different each time, adb created files in directory.
Cherry-Picked-From: c8a3ef3f3c501c7bc14a2078dde513765cdb56d7
Merged-In: I74077bf8f727dab726c25f512ed7406a74cbe0bf
Change-Id: I74077bf8f727dab726c25f512ed7406a74cbe0bf

2dceaa2 2019-08-13 12:13:47 android-build-team Robot

Snap for 5797413 from 732faaeb9405627b8777627f473fe04950f5fec6 to qt-qpr1-release

Change-Id: I75ee6568ee6a69aaf4501dd7f0deee1f9160ac4f

732faae 2019-08-13 03:39:56 Jaegeuk Kim

secdiscard: should call fsync to avoid reordering IOs
am: 6c5e453f9e

Change-Id: I5710fcce302d040a29ff798df85bf71ef6e3fbb5

6c5e453 2019-08-13 00:31:10 Jaegeuk Kim

secdiscard: should call fsync to avoid reordering IOs

Don't make stale zero'ing IO in block device after unlink, since filesystem
can reuse the block addresses and issue some IOs. If block layer reordered
two IOs, filesystem will see zero data, which crashes filesystem consistency.

Bug: 136964285
Test: run cts -m CtsDevicePolicyManagerTestCases -t
Change-Id: I43c13622d094cecda1c53468adc240002111d605
Signed-off-by: Jaegeuk Kim <>

8247d09 2019-06-30 08:13:41 android-build-team Robot

Snap for 5698755 from 7d43cb0ae91322a58cef7f92225d00c2dd1f201a to qt-qpr1-release

Change-Id: Ic934f150452f38c6671c217505f90be13ff4d2a1

7d43cb0 2019-06-28 08:25:15 Paul Lawrence

Merge "Make ext4 userdata checkpoints work with metadata encryption" into qt-dev
am: dde9704664

Change-Id: I091c8d095b29dc966da86c2d4c93281615043355

dde9704 2019-06-28 07:36:27 TreeHugger Robot

Merge "Make ext4 userdata checkpoints work with metadata encryption" into qt-dev

b5ebd7d 2019-06-28 02:42:25 Paul Lawrence

Make ext4 userdata checkpoints work with metadata encryption

When both ext4 user data checkpoints and metadata encryption are
enabled, we are creating two stacked dm devices. This had not been
properly thought through or debugged.

Test: Enable metadata encryption on taimen (add
keydirectory=/metadata/vold/metadata_encryption to flags for userdata in
Unfortunately metadata is not wiped by fastboot -w, so it is
necessary to rm metadata/vold -rf whenever you wipe data.
fastboot flashall -w works
fastboot reboot -w works
A normal boot works
Disable checkpoint commits with
setprop persist.vold.dont_commit_checkpoint 1
vdc checkpoint startCheckpoint 10
adb reboot
wait for device to fully boot then
adb reboot
Wait for device to fully boot then
adb logcat -d | grep Checkpoint shows the rollback in the logs

This tests encryption on top of checkpoints with commit, encryption
without checkpoints, and rollback, which seems to be the key cases.

Also ran same tests on unmodified Taimen and Blueline

Bug: 135905679
Merged-In: I8365a40298b752af4bb10d00d9ff58ce04beab1f
Change-Id: I8365a40298b752af4bb10d00d9ff58ce04beab1f

571581c 2019-06-27 12:01:52 android-build-team Robot

Snap for 5691478 from cd5df6e1ef2c7d66fcfa99e2e1bf96473625a678 to qt-qpr1-release

Change-Id: I4e998f1f8677812e3cd721fb458014a07917f882

cd5df6e 2019-06-27 07:08:51 Xin Li

Restore historical behavior with fsck_msdos (always accept fixes).
am: 3601f4790b

Change-Id: I0c362a06814657e2ecf1059a942b7c21cf4e3051

Show on old repository browser