OSDN Git Service

android-x86/system-vold.git
4 years agoAllow mounting a read-only exFAT file system q-x86
server158 [Mon, 1 Jun 2020 11:34:05 +0000 (19:34 +0800)]
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().

4 years agoSupport mounting exfat via fuse
Chih-Wei Huang [Mon, 4 May 2020 16:49:35 +0000 (00:49 +0800)]
Support mounting exfat via fuse

4 years agoRevert "Remove waitpid on UnMount"
Chih-Wei Huang [Tue, 7 Jan 2020 08:46:37 +0000 (16:46 +0800)]
Revert "Remove waitpid on UnMount"

The sdcard with fuse support runs in daemon mode.

This reverts commit 8b9a5b344e9f467621f07040567e5231da413f46.

4 years agovold3: check supported filesystem modules
Chih-Wei Huang [Sat, 25 Mar 2017 16:47:42 +0000 (00:47 +0800)]
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.

4 years agovold3: support UDF (Universal Disk Format)
Chih-Wei Huang [Sat, 25 Mar 2017 16:46:42 +0000 (00:46 +0800)]
vold3: support UDF (Universal Disk Format)

Refer to https://en.wikipedia.org/wiki/Universal_Disk_Format.

4 years agovold3: auto mount CDROM
Chih-Wei Huang [Sat, 25 Mar 2017 16:45:41 +0000 (00:45 +0800)]
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.

4 years agoMove kMajor* constants to a header file
Chih-Wei Huang [Fri, 24 Mar 2017 16:13:45 +0000 (00:13 +0800)]
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.

4 years agovold: ISO9660 support
Luo Chunbo [Wed, 25 May 2016 08:16:48 +0000 (16:16 +0800)]
vold: ISO9660 support

Ref: T7691

Change-Id: Ifc602781e7d87aea9f3181263e09ffe143e9a231
Signed-off-by: Luo Chunbo <luochunbo@jidemail.com>
4 years agovold3: support the old SDCARD=xxx function
Chih-Wei Huang [Fri, 12 Aug 2016 17:58:29 +0000 (01:58 +0800)]
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.

4 years agovold: Honor mount options for ext4/f2fs partitions
Tom Marshall [Thu, 5 Nov 2015 19:20:54 +0000 (11:20 -0800)]
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

4 years agovold: Support internal storage partitions
Tom Marshall [Wed, 4 Nov 2015 23:44:44 +0000 (15:44 -0800)]
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 <radian.dc@gmail.com>
[mikeioannina] Adapt for Pie

Change-Id: Id7ec3ea409b5c96e691730604e4b1e9cc3aa9d33

4 years agovold: add support for more filesystems for public storage
Dan Pasanen [Wed, 28 Oct 2015 03:52:37 +0000 (22:52 -0500)]
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

4 years agoSnap for 5892339 from 1b535e41fd6c1b666cf806aae782cf621b7782bc to qt-qpr1-release
android-build-team Robot [Sat, 21 Sep 2019 23:10:35 +0000 (23:10 +0000)]
Snap for 5892339 from 1b535e41fd6c1b666cf806aae782cf621b7782bc to qt-qpr1-release

Change-Id: Ibb3cf7ec9163d5870c6b51d8d14bdf4985b63feb

4 years agoSnap for 5885124 from ccc84dec9613ee9c8fdbd734fc6bd58052a8336f to qt-qpr1-release
android-build-team Robot [Thu, 19 Sep 2019 03:13:25 +0000 (03:13 +0000)]
Snap for 5885124 from ccc84dec9613ee9c8fdbd734fc6bd58052a8336f to qt-qpr1-release

Change-Id: I0f78ab10be71bca6f4230d4ac0e43a91b71d0c28

4 years agoFix crash in mainline
Paul Lawrence [Mon, 26 Aug 2019 22:09:41 +0000 (15:09 -0700)]
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
      stop;start

      commitChanges fails, then device loops

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

Change-Id: I135099625f77344d1f8d2e8688735871c44ef2f5
Merged-In: I135099625f77344d1f8d2e8688735871c44ef2f5

4 years agoCreate a per-boot key on each boot
Paul Crowley [Wed, 11 Sep 2019 22:00:08 +0000 (15:00 -0700)]
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

4 years agoSnap for 5797413 from 732faaeb9405627b8777627f473fe04950f5fec6 to qt-qpr1-release
android-build-team Robot [Tue, 13 Aug 2019 03:13:47 +0000 (03:13 +0000)]
Snap for 5797413 from 732faaeb9405627b8777627f473fe04950f5fec6 to qt-qpr1-release

Change-Id: I75ee6568ee6a69aaf4501dd7f0deee1f9160ac4f

4 years agosecdiscard: should call fsync to avoid reordering IOs
Jaegeuk Kim [Mon, 12 Aug 2019 18:39:56 +0000 (11:39 -0700)]
secdiscard: should call fsync to avoid reordering IOs
am: 6c5e453f9e

Change-Id: I5710fcce302d040a29ff798df85bf71ef6e3fbb5

4 years agosecdiscard: should call fsync to avoid reordering IOs
Jaegeuk Kim [Thu, 8 Aug 2019 16:07:58 +0000 (09:07 -0700)]
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 com.android.cts.devicepolicy.CrossProfileAppsHostSideTest
Change-Id: I43c13622d094cecda1c53468adc240002111d605
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
4 years agoSnap for 5698755 from 7d43cb0ae91322a58cef7f92225d00c2dd1f201a to qt-qpr1-release
android-build-team Robot [Sat, 29 Jun 2019 23:13:41 +0000 (23:13 +0000)]
Snap for 5698755 from 7d43cb0ae91322a58cef7f92225d00c2dd1f201a to qt-qpr1-release

Change-Id: Ic934f150452f38c6671c217505f90be13ff4d2a1

4 years agoMerge "Make ext4 userdata checkpoints work with metadata encryption" into qt-dev
Paul Lawrence [Thu, 27 Jun 2019 23:25:15 +0000 (16:25 -0700)]
Merge "Make ext4 userdata checkpoints work with metadata encryption" into qt-dev
am: dde9704664

Change-Id: I091c8d095b29dc966da86c2d4c93281615043355

4 years agoMerge "Make ext4 userdata checkpoints work with metadata encryption" into qt-dev
TreeHugger Robot [Thu, 27 Jun 2019 22:36:27 +0000 (22:36 +0000)]
Merge "Make ext4 userdata checkpoints work with metadata encryption" into qt-dev

4 years agoMake ext4 userdata checkpoints work with metadata encryption
Paul Lawrence [Tue, 25 Jun 2019 21:44:33 +0000 (14:44 -0700)]
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
fstab.hardware)
    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

4 years agoSnap for 5691478 from cd5df6e1ef2c7d66fcfa99e2e1bf96473625a678 to qt-qpr1-release
android-build-team Robot [Thu, 27 Jun 2019 03:01:52 +0000 (03:01 +0000)]
Snap for 5691478 from cd5df6e1ef2c7d66fcfa99e2e1bf96473625a678 to qt-qpr1-release

Change-Id: I4e998f1f8677812e3cd721fb458014a07917f882

4 years agoRestore historical behavior with fsck_msdos (always accept fixes).
Xin Li [Wed, 26 Jun 2019 22:08:51 +0000 (15:08 -0700)]
Restore historical behavior with fsck_msdos (always accept fixes).
am: 3601f4790b

Change-Id: I0c362a06814657e2ecf1059a942b7c21cf4e3051

4 years agoRestore historical behavior with fsck_msdos (always accept fixes).
Xin Li [Thu, 6 Jun 2019 18:33:51 +0000 (11:33 -0700)]
Restore historical behavior with fsck_msdos (always accept fixes).

Bug: 133725065
Merged-In: I1d50a7e52fda34e59eb6f051c7fde115a6cd5255
Change-Id: I1d50a7e52fda34e59eb6f051c7fde115a6cd5255

4 years agoSnap for 5663715 from 1289741942c1ffbfbd6662546a70737f7cedc3e3 to qt-qpr1-release
android-build-team Robot [Sat, 15 Jun 2019 23:04:04 +0000 (23:04 +0000)]
Snap for 5663715 from 1289741942c1ffbfbd6662546a70737f7cedc3e3 to qt-qpr1-release

Change-Id: Ib02251a0b3938def6df4382106f4345c7606082d

4 years agoAdd property to prevent commit for Vts test
Paul Lawrence [Thu, 13 Jun 2019 20:13:20 +0000 (13:13 -0700)]
Add property to prevent commit for Vts test
am: 3f1ce062d5

Change-Id: I96f61fbd0dda813bb55784074b7b949437cabff8

4 years agoAdd property to prevent commit for Vts test
Paul Lawrence [Wed, 12 Jun 2019 19:03:01 +0000 (12:03 -0700)]
Add property to prevent commit for Vts test

Old approach (do not start class main) does not work because when
testings userdebug GSI on user system, adb does not start until the
framework starts.

Bug: 134126407
Test: Test passes with userdebug GSI on user Taimen
Change-Id: I20441964dbc7b6ad5b445fa17a1374c1282bbbd8

4 years agoSnap for 5645193 from cfc8afa3c4ada968c764d2534156ffae5eb5b2a9 to qt-qpr1-release
android-build-team Robot [Sat, 8 Jun 2019 23:16:08 +0000 (23:16 +0000)]
Snap for 5645193 from cfc8afa3c4ada968c764d2534156ffae5eb5b2a9 to qt-qpr1-release

Change-Id: Ie2c87a55a8816b8cbed8494468793699befba164

4 years agoDefer deleteKey in KeyStorage in Checkpointing mode
Daniel Rosenberg [Fri, 7 Jun 2019 20:05:41 +0000 (13:05 -0700)]
Defer deleteKey in KeyStorage in Checkpointing mode
am: 8cc5716ef1

Change-Id: Iecd54afeec49d27ce0c74d1ee41fa3aefe169c84

4 years agoDefer deleteKey in KeyStorage in Checkpointing mode
Daniel Rosenberg [Fri, 7 Jun 2019 03:38:38 +0000 (20:38 -0700)]
Defer deleteKey in KeyStorage in Checkpointing mode

Don't delete keys in checkpointing mode. Instead wait until the
checkpoint has been committed.

Bug: 134631661
Test: Flash A with a working build. Flash B with a broken build. Test
      that the device rolls back to A without getting sent to recovery.

Change-Id: Ie5fc2d098355e2d095c53e9a95a6a8c7ab7ed051

5 years agoSnap for 5626839 from c7ad0d7657052f2d03d2a0a5f1d1bd7470102e0a to qt-qpr1-release
android-build-team Robot [Sat, 1 Jun 2019 23:19:51 +0000 (23:19 +0000)]
Snap for 5626839 from c7ad0d7657052f2d03d2a0a5f1d1bd7470102e0a to qt-qpr1-release

Change-Id: Ie4d70c010ec2baca0cdd005574f9e91adfd948d2

5 years agoSupport "full" mode when updating bind mounts of a process.
Sudheer Shanka [Fri, 31 May 2019 22:04:20 +0000 (15:04 -0700)]
Support "full" mode when updating bind mounts of a process.
am: 8f2ff80e87

Change-Id: I160a6a09eccea8fc5d766ed268d4c7c702e4c5dd

5 years agoSupport "full" mode when updating bind mounts of a process.
Sudheer Shanka [Thu, 30 May 2019 23:40:20 +0000 (16:40 -0700)]
Support "full" mode when updating bind mounts of a process.

Bug: 133829348
Test: manual
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/cts/ExternalStorageHostTest.java
Change-Id: I5f48ecbfe8cce243fa75a2e8447ce1d4676003ad

5 years agoSnap for 5582435 from 6a3ef488e5fea4f9c5992c76f4b20e7c800881c1 to qt-qpr1-release
android-build-team Robot [Sat, 18 May 2019 23:26:39 +0000 (23:26 +0000)]
Snap for 5582435 from 6a3ef488e5fea4f9c5992c76f4b20e7c800881c1 to qt-qpr1-release

Change-Id: Ie725c17eac88a4ebbce33f7a9344eb6e7b2fce86

5 years agoFsCrypt.cpp: Do delayed restorecon on /data/vendor_ce
Nick Kralevich [Tue, 14 May 2019 16:30:29 +0000 (09:30 -0700)]
FsCrypt.cpp: Do delayed restorecon on /data/vendor_ce

When Android boots after file_contexts has changed, the boot process
walks the entire /data partition, updating any changed SELinux labels as
appropriate. However, credential encrypted ("ce") directories are
deliberately excluded from this early boot directory walk. Files within
ce directories have their filenames encrypted, and as a result, cannot
match the file_contexts entries. Only after the user has unlocked their
device are the unencrypted filenames available and a restorecon
appropriate.

Ensure that we do a post-unlock restorecon on /data/vendor_ce, like we
do for /data/system_ce and /data/misc_ce. This ensures the labels on
files within these directories are correct after the device has been
unlocked.

Bug: 132349934
Test: See bug 132349934 comment #12 for test procedure
Change-Id: Ifcbef5fdfb236ec6dea418efa9d965db3a3b782f

5 years agoRemove storage sandboxes related code.
Sudheer Shanka [Thu, 9 May 2019 22:16:25 +0000 (15:16 -0700)]
Remove storage sandboxes related code.
am: ebce4cc16b

Change-Id: I7861da185b98366ac36887921d89f0ff6cd817c7

5 years agoRemove storage sandboxes related code.
Sudheer Shanka [Mon, 29 Apr 2019 17:46:35 +0000 (10:46 -0700)]
Remove storage sandboxes related code.

Bug: 131115422
Test: manual
Test: atest --test-mapping packages/providers/MediaProvider
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/cts/ExternalStorageHostTest.java
Test: atest DownloadProviderTests
Test: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java
Test: atest cts/tests/app/DownloadManagerLegacyTest/src/android/app/cts/DownloadManagerLegacyTest.java
Test: atest cts/tests/app/DownloadManagerApi28Test/src/android/app/cts/DownloadManagerApi28Test.java
Change-Id: Ib3272a47a901ed106474039e72f123b11f5443ff
Merged-In: Ib3272a47a901ed106474039e72f123b11f5443ff

5 years agoMerge "Stop using trigger_reset_main." into qt-dev
Martijn Coenen [Wed, 1 May 2019 22:20:29 +0000 (15:20 -0700)]
Merge "Stop using trigger_reset_main." into qt-dev
am: 9db42907b5

Change-Id: I18181feec3c637cc295411e017ebf5e3fd204702

5 years agoMerge "Stop using trigger_reset_main." into qt-dev
Martijn Coenen [Wed, 1 May 2019 17:45:23 +0000 (17:45 +0000)]
Merge "Stop using trigger_reset_main." into qt-dev

5 years agoCreate /data/vendor_ce/0/facedata in vold_prepare_subdirs
Paul Crowley [Wed, 24 Apr 2019 00:04:35 +0000 (17:04 -0700)]
Create /data/vendor_ce/0/facedata in vold_prepare_subdirs

Bug: 131084614
Test: Modified sepolicy to match, ensured directory was created on
    Crosshatch

Change-Id: I0978a630149158eb3b8f446abecb12e137e6fae5

5 years agoStop using trigger_reset_main.
Martijn Coenen [Wed, 24 Apr 2019 08:41:11 +0000 (10:41 +0200)]
Stop using trigger_reset_main.

This trigger was used on FDE devices to bring down the minimal
framework, and worked by shutting down the 'main' service class.

With APEX being introduced, we want to restart all services that were
started after the tmpfs /data was mounted, as those are the services
that haven't been able to use updated APEXes in the (real) /data.

In order to do this, we need to reset more classes; that in turn
made the 'shutdown_main' trigger pretty much similar to the
previously existing 'trigger_shutdown_framework' trigger; so instead
of keeping two duplicate triggers, use only the
'trigger_shutdown_framework' one.

Bug: 118485723
Test: Taimen configured as FDE boots, Taimen configured as FBE boots
Change-Id: I0d80ef2528bd70870b063a2c580cd00a03de9961

5 years agoUpdate remountUidLegacy to handle "full" mount mode.
Sudheer Shanka [Thu, 18 Apr 2019 22:18:30 +0000 (15:18 -0700)]
Update remountUidLegacy to handle "full" mount mode.

Bug: 130791955
Test: manual
Change-Id: I078c2922d1d5a8d16bbb213201a3cad7b1bf4b86

5 years agoMerge "Allow sandboxed apps to access only package specific dirs." into qt-dev
Sudheer Shanka [Wed, 17 Apr 2019 22:07:47 +0000 (22:07 +0000)]
Merge "Allow sandboxed apps to access only package specific dirs." into qt-dev

5 years agoAdd visible logs about fstrim run for block based checkpoints
Sandeep Patil [Mon, 15 Apr 2019 15:45:27 +0000 (08:45 -0700)]
Add visible logs about fstrim run for block based checkpoints

Bug: 120095226
Test: Tested by forcing /data/system/last-fstrim last modified time back
      2 years & manually trigger checkpoint using 'vdc checkpoint startCheckpoint 1'

Change-Id: I0cb8b6a85ae787e1ba2cdd7998a46942ca69760f
Signed-off-by: Sandeep Patil <sspatil@google.com>
5 years agoAllow sandboxed apps to access only package specific dirs.
Sudheer Shanka [Fri, 12 Apr 2019 20:55:28 +0000 (13:55 -0700)]
Allow sandboxed apps to access only package specific dirs.

Bug: 130427780
Test: manual
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/cts/ExternalStorageHostTest.java
Change-Id: I7afcea090306336c4033860084a2a436d2bb4740

5 years ago[automerger skipped] Fsync directories before delete key
Woody Lin [Wed, 10 Apr 2019 14:06:41 +0000 (07:06 -0700)]
[automerger skipped] Fsync directories before delete key
am: a598e04a91 -s ours
am skip reason: change_id Ib8c349d6d033f86b247f4b35b8354d97cf249d26 with SHA1 37c82f5c0f is in history

Change-Id: Ifec2d700dbe6bbe55e65e6e07003d1e77fb3dbc2

5 years ago[automerger skipped] Fsync directories after creating files
Paul Crowley [Wed, 10 Apr 2019 14:06:31 +0000 (07:06 -0700)]
[automerger skipped] Fsync directories after creating files
am: 2e58acb412 -s ours
am skip reason: change_id I53d252942c21365983b4f8b6e0948b1864f195c1 with SHA1 621d9b9732 is in history

Change-Id: Icdb62b1d4e6e7ca7d18df1083020d61d9b215165

5 years agoAppFuseUtil: Call ForceUnmount before PrepareDir.
Narayan Kamath [Tue, 9 Apr 2019 17:45:32 +0000 (18:45 +0100)]
AppFuseUtil: Call ForceUnmount before PrepareDir.

We'd previously call ForceUnmount after the call to PrepareDir,
which would sometimes fail because the userspace counterpart of a
FUSE FS that was previously mounted at that mountpoint has gone
away. This is usually reproducible after a runtime restart.

Bug: 128459728
Test: Loop (adb shell start; atest MediaStore_Images_MediaTest; adb shell stop;)
Change-Id: I38d3908487123614c338266f983afb04e3ed78d4

5 years agoMerge "vold: downgrade lookup_key_ref() failure message to DEBUG level"
Eric Biggers [Wed, 3 Apr 2019 21:38:28 +0000 (21:38 +0000)]
Merge "vold: downgrade lookup_key_ref() failure message to DEBUG level"

5 years agoMerge "Retry opening loop device" am: c8f5cbb5b1 am: de841f6d89
Daniel Rosenberg [Tue, 2 Apr 2019 22:52:12 +0000 (15:52 -0700)]
Merge "Retry opening loop device" am: c8f5cbb5b1 am: de841f6d89
am: dde25e9167

Change-Id: I14fc99509f8b5f83cc2dd0a035d1b127c581b027

5 years agoMerge "Retry opening loop device" am: c8f5cbb5b1
Daniel Rosenberg [Tue, 2 Apr 2019 22:08:19 +0000 (15:08 -0700)]
Merge "Retry opening loop device" am: c8f5cbb5b1
am: de841f6d89

Change-Id: Ia0765900543f1778fbbe5d26dcadaff8364a89b5

5 years agoMerge "Retry opening loop device"
Daniel Rosenberg [Tue, 2 Apr 2019 21:23:59 +0000 (14:23 -0700)]
Merge "Retry opening loop device"
am: c8f5cbb5b1

Change-Id: I5657465fe50f61e3c45e7d13eb5953ef7771d5fa

5 years agoMerge "Retry opening loop device"
Daniel Rosenberg [Tue, 2 Apr 2019 20:28:44 +0000 (20:28 +0000)]
Merge "Retry opening loop device"

5 years agovold: downgrade lookup_key_ref() failure message to DEBUG level
Eric Biggers [Tue, 2 Apr 2019 17:38:15 +0000 (10:38 -0700)]
vold: downgrade lookup_key_ref() failure message to DEBUG level

Now that lockUserKey() will be called for every user each time the
framework is started, it's a normal case that the key being removed
doesn't exist.  So downgrade the log message about being unable to find
a key from ERROR to DEBUG.

Test: build and boot, message is now debug level.
Change-Id: I2d1dce8dd8825b02982eab1c902aa10fe5b54b84

5 years agoRetry opening loop device
Daniel Rosenberg [Mon, 1 Apr 2019 23:09:28 +0000 (16:09 -0700)]
Retry opening loop device

If more than the default number of loop devices is in use, we may need
to wait for the device path to be available.

Bug: 128873591
Bug: 122059364
Test: Set up adopted virtual disk and check that it loads on boot
Change-Id: I201dcc32043664076f50b0d6f40de6e5e1a65342

5 years agoMerge "idle-maint: don't need to change discard_granularity" am: 444a24558d am: a970f...
Jaegeuk Kim [Mon, 1 Apr 2019 14:22:06 +0000 (07:22 -0700)]
Merge "idle-maint: don't need to change discard_granularity" am: 444a24558d am: a970ff8448
am: 240ca70d8d

Change-Id: I249d4dd70c4f13d46d539a769e918613eea539b4

5 years agoMerge "idle-maint: don't need to change discard_granularity" am: 444a24558d
Jaegeuk Kim [Mon, 1 Apr 2019 14:17:59 +0000 (07:17 -0700)]
Merge "idle-maint: don't need to change discard_granularity" am: 444a24558d
am: a970ff8448

Change-Id: I2be93b1bf2e1cd81b54ec9f197043ae8156003df

5 years agoMerge "idle-maint: don't need to change discard_granularity"
Jaegeuk Kim [Mon, 1 Apr 2019 14:13:28 +0000 (07:13 -0700)]
Merge "idle-maint: don't need to change discard_granularity"
am: 444a24558d

Change-Id: If0679363fb8563dedb43f8bd6266c74e4869d44f

5 years agoMerge "idle-maint: don't need to change discard_granularity"
Jaegeuk Kim [Mon, 1 Apr 2019 14:04:24 +0000 (14:04 +0000)]
Merge "idle-maint: don't need to change discard_granularity"

5 years agoVolumeManager: more O_CLOEXEC changes
Nick Kralevich [Sat, 30 Mar 2019 01:35:22 +0000 (18:35 -0700)]
VolumeManager: more O_CLOEXEC changes

Test: compiles and boots
Bug: 129350825
Change-Id: Ie6a0e05f1814d744eb16863f749c939ab1e097e0

5 years agoMerge "vold: add android-* to tidy_checks" am: 1820b9b3b9 am: 874b841223
Nick Kralevich [Sat, 30 Mar 2019 01:46:25 +0000 (18:46 -0700)]
Merge "vold: add android-* to tidy_checks" am: 1820b9b3b9 am: 874b841223
am: 2215bd7a75

Change-Id: I4d1be96b9e7285aada712482c366a22451b6dacc

5 years agoMerge "vold: cleanups for O_CLOEXEC tidy checks." am: a59868d6de am: 5af0c75525
Nick Kralevich [Sat, 30 Mar 2019 01:46:07 +0000 (18:46 -0700)]
Merge "vold: cleanups for O_CLOEXEC tidy checks." am: a59868d6de am: 5af0c75525
am: 4197c098df

Change-Id: Ibe3636abcfafab7854c7b0434095b6e91fadcacf

5 years agoMerge "vold: add android-* to tidy_checks" am: 1820b9b3b9
Nick Kralevich [Sat, 30 Mar 2019 01:42:20 +0000 (18:42 -0700)]
Merge "vold: add android-* to tidy_checks" am: 1820b9b3b9
am: 874b841223

Change-Id: Ica87cf75eadfff9a12c08204240e2d31b10f51a1

5 years agoMerge "vold: cleanups for O_CLOEXEC tidy checks." am: a59868d6de
Nick Kralevich [Sat, 30 Mar 2019 01:42:05 +0000 (18:42 -0700)]
Merge "vold: cleanups for O_CLOEXEC tidy checks." am: a59868d6de
am: 5af0c75525

Change-Id: I19cae40b342d339bf5752dfba304c37a0abecea8

5 years agoMerge "vold: add android-* to tidy_checks"
Nick Kralevich [Sat, 30 Mar 2019 01:38:21 +0000 (18:38 -0700)]
Merge "vold: add android-* to tidy_checks"
am: 1820b9b3b9

Change-Id: I5b1c6926f050df8b24ee3d52b93080dab0745571

5 years agoMerge "vold: cleanups for O_CLOEXEC tidy checks."
Nick Kralevich [Sat, 30 Mar 2019 01:38:04 +0000 (18:38 -0700)]
Merge "vold: cleanups for O_CLOEXEC tidy checks."
am: a59868d6de

Change-Id: Ice4a6009beb2d41d381e461b00be93471b100778

5 years agoMerge "vold: add android-* to tidy_checks"
Nick Kralevich [Sat, 30 Mar 2019 01:27:57 +0000 (01:27 +0000)]
Merge "vold: add android-* to tidy_checks"

5 years agoMerge "vold: cleanups for O_CLOEXEC tidy checks."
Nick Kralevich [Sat, 30 Mar 2019 01:27:38 +0000 (01:27 +0000)]
Merge "vold: cleanups for O_CLOEXEC tidy checks."

5 years agoMerge "Fix checkpoint on Taimen" am: 3889f17ad1 am: e2d9258979
Paul Lawrence [Sat, 30 Mar 2019 00:58:01 +0000 (17:58 -0700)]
Merge "Fix checkpoint on Taimen" am: 3889f17ad1 am: e2d9258979
am: 471325ad5a

Change-Id: I96523c193353d8d0f3cf775447b07c018ff810a8

5 years agoMerge "Fix checkpoint on Taimen" am: 3889f17ad1
Paul Lawrence [Sat, 30 Mar 2019 00:38:20 +0000 (17:38 -0700)]
Merge "Fix checkpoint on Taimen" am: 3889f17ad1
am: e2d9258979

Change-Id: Id0768b2cb6aa645d528d21738456a72308936ace

5 years agoMerge "Fix checkpoint on Taimen"
Paul Lawrence [Sat, 30 Mar 2019 00:16:19 +0000 (17:16 -0700)]
Merge "Fix checkpoint on Taimen"
am: 3889f17ad1

Change-Id: I06af82f6534b26e595be3aa1d39588175920d0db

5 years agoMerge "Fix checkpoint on Taimen"
Treehugger Robot [Fri, 29 Mar 2019 23:09:52 +0000 (23:09 +0000)]
Merge "Fix checkpoint on Taimen"

5 years agovold: add android-* to tidy_checks
Nick Kralevich [Fri, 29 Mar 2019 23:07:58 +0000 (16:07 -0700)]
vold: add android-* to tidy_checks

Bug: 129350825
Test: compiles and boots
Change-Id: If5a6267cc56bfc0ba73602bfa520035197b4fb90

5 years agovold: cleanups for O_CLOEXEC tidy checks.
Nick Kralevich [Fri, 29 Mar 2019 23:03:51 +0000 (16:03 -0700)]
vold: cleanups for O_CLOEXEC tidy checks.

Bug: 129350825
Test: compiles and boots
Change-Id: I83a484ca15df1b757b670008f15af5504bc94df1

5 years agoFix checkpoint on Taimen
Paul Lawrence [Fri, 29 Mar 2019 20:06:34 +0000 (13:06 -0700)]
Fix checkpoint on Taimen

Bug: 129494872
Test: VtsKernelCheckpointTest runs and passes
Change-Id: Ib2de866db7c847d569789d1aa6cdbad7c3ee7ff4

5 years agoMerge "Fix bogus error checking on unique_fd" am: 95587b085e am: 3e9b69bf77
Bernie Innocenti [Fri, 29 Mar 2019 04:32:18 +0000 (21:32 -0700)]
Merge "Fix bogus error checking on unique_fd" am: 95587b085e am: 3e9b69bf77
am: eb2be538c0

Change-Id: I7bf25301ca157fc7d508e03d32d037987a29ecf3

5 years agoMerge "Fix bogus error checking on unique_fd" am: 95587b085e
Bernie Innocenti [Fri, 29 Mar 2019 04:15:34 +0000 (21:15 -0700)]
Merge "Fix bogus error checking on unique_fd" am: 95587b085e
am: 3e9b69bf77

Change-Id: Id54116718b97057f978e1410a96bfb449999f832

5 years agoMerge "Fix bogus error checking on unique_fd"
Bernie Innocenti [Fri, 29 Mar 2019 04:09:18 +0000 (21:09 -0700)]
Merge "Fix bogus error checking on unique_fd"
am: 95587b085e

Change-Id: Ic11222fdc81a9a2e15546378f1bc5012107c50af

5 years agoMerge "Fix bogus error checking on unique_fd"
Treehugger Robot [Fri, 29 Mar 2019 03:52:46 +0000 (03:52 +0000)]
Merge "Fix bogus error checking on unique_fd"

5 years agoidle-maint: don't need to change discard_granularity
Jaegeuk Kim [Thu, 28 Mar 2019 13:40:12 +0000 (06:40 -0700)]
idle-maint: don't need to change discard_granularity

F2FS changes proper configurations along with gc_urgent, so idle-maint doesn't
need to set this redundantly.

Change-Id: I4a71a5d877a3bb9636e2b65132ec806edc56a8fe
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
5 years agoMerge "vold: fsync both file and directory after write keys"
TreeHugger Robot [Thu, 28 Mar 2019 08:44:30 +0000 (08:44 +0000)]
Merge "vold: fsync both file and directory after write keys"

5 years agoMerge "vold: Introduce android::vold::writeStringToFile"
TreeHugger Robot [Thu, 28 Mar 2019 08:44:12 +0000 (08:44 +0000)]
Merge "vold: Introduce android::vold::writeStringToFile"

5 years agovold: fsync both file and directory after write keys
Tommy Chiu [Tue, 26 Mar 2019 06:14:19 +0000 (14:14 +0800)]
vold: fsync both file and directory after write keys

Use vold version of writeStringToFile which fsync files, and
manually fsync directories after initialize global DE

Bug: 71810347
Test: Build pass and reboot stress test.
      Original boot failure symptom is NOT reproducible.

Change-Id: I1ca8f8cf0ccfd01075a9c33f79042e58d99aea26

5 years agoFix bogus error checking on unique_fd
Bernie Innocenti [Thu, 28 Mar 2019 06:24:30 +0000 (15:24 +0900)]
Fix bogus error checking on unique_fd

The expression "!fd" calls the implicit conversion to int, but comparing
the raw fd against 0 does not work, since open() and other POSIX calls
returning a file descriptor use -1 to signal an error.

Test: m vold
Change-Id: I0847c276f39cb9dd09c7ffb96951276113418fc8

5 years agoMerge "Switch Checkpoint health sleep time to ms." am: 32a8a47b07 am: e6db7e0a23
Daniel Rosenberg [Wed, 27 Mar 2019 02:53:51 +0000 (19:53 -0700)]
Merge "Switch Checkpoint health sleep time to ms." am: 32a8a47b07 am: e6db7e0a23
am: 2cc8752935

Change-Id: I125122b44009e2cb11e7cf6c147c9a808a87b8a2

5 years agoMerge "Switch Checkpoint health sleep time to ms." am: 32a8a47b07
Daniel Rosenberg [Wed, 27 Mar 2019 02:49:51 +0000 (19:49 -0700)]
Merge "Switch Checkpoint health sleep time to ms." am: 32a8a47b07
am: e6db7e0a23

Change-Id: If71daebf5bd2d91f5dfbadee4c7707c10b667648

5 years agoMerge "Switch Checkpoint health sleep time to ms."
Daniel Rosenberg [Wed, 27 Mar 2019 02:45:51 +0000 (19:45 -0700)]
Merge "Switch Checkpoint health sleep time to ms."
am: 32a8a47b07

Change-Id: If927a879f06faac4fde97dde41f2017010f7001c

5 years agoMerge "Switch Checkpoint health sleep time to ms."
Daniel Rosenberg [Wed, 27 Mar 2019 02:34:24 +0000 (02:34 +0000)]
Merge "Switch Checkpoint health sleep time to ms."

5 years agoMerge "Fixed min_free_bytes prop name and usleep time default" am: 7522da3036 am...
Daniel Rosenberg [Wed, 27 Mar 2019 02:26:30 +0000 (19:26 -0700)]
Merge "Fixed min_free_bytes prop name and usleep time default" am: 7522da3036 am: 23e15b78ad
am: 511073b610

Change-Id: Ic796c1d7f636bb5718eee599e25aed83784bd246

5 years agoMerge "Fixed min_free_bytes prop name and usleep time default" am: 7522da3036
Daniel Rosenberg [Wed, 27 Mar 2019 02:22:27 +0000 (19:22 -0700)]
Merge "Fixed min_free_bytes prop name and usleep time default" am: 7522da3036
am: 23e15b78ad

Change-Id: I33e4655486ec05fbd9ea66e467aaa1dce440edf9

5 years agoMerge "Fixed min_free_bytes prop name and usleep time default"
Daniel Rosenberg [Wed, 27 Mar 2019 02:18:18 +0000 (19:18 -0700)]
Merge "Fixed min_free_bytes prop name and usleep time default"
am: 7522da3036

Change-Id: I242863be8d2b0b9ff780670b340f8acbfdaad52e

5 years agoMerge "Convert ifstream usage into fopen() to prevent fd leaks into child processes...
Suren Baghdasaryan [Wed, 27 Mar 2019 02:07:20 +0000 (19:07 -0700)]
Merge "Convert ifstream usage into fopen() to prevent fd leaks into child processes" am: 93fb6083d4 am: f1dec58b61
am: 1efcfc30b1

Change-Id: Iacc7caa16478c167462ca5645f5eabfa34381896

5 years agoMerge "Fixed min_free_bytes prop name and usleep time default"
Daniel Rosenberg [Wed, 27 Mar 2019 02:01:48 +0000 (02:01 +0000)]
Merge "Fixed min_free_bytes prop name and usleep time default"

5 years agoMerge "Convert ifstream usage into fopen() to prevent fd leaks into child processes...
Suren Baghdasaryan [Wed, 27 Mar 2019 01:57:14 +0000 (18:57 -0700)]
Merge "Convert ifstream usage into fopen() to prevent fd leaks into child processes" am: 93fb6083d4
am: f1dec58b61

Change-Id: Id7e8626129dbda0fdafcc86b087b67f71b5d3f8a

5 years agoMerge "Convert ifstream usage into fopen() to prevent fd leaks into child processes"
Suren Baghdasaryan [Wed, 27 Mar 2019 01:48:13 +0000 (18:48 -0700)]
Merge "Convert ifstream usage into fopen() to prevent fd leaks into child processes"
am: 93fb6083d4

Change-Id: I28dc4717f22207e310c5701a78c04214ffa4d52a

5 years agoMerge "Convert ifstream usage into fopen() to prevent fd leaks into child processes"
Suren Baghdasaryan [Wed, 27 Mar 2019 01:31:15 +0000 (01:31 +0000)]
Merge "Convert ifstream usage into fopen() to prevent fd leaks into child processes"

5 years agoSwitch Checkpoint health sleep time to ms.
Daniel Rosenberg [Tue, 26 Mar 2019 21:42:14 +0000 (14:42 -0700)]
Switch Checkpoint health sleep time to ms.

This changes the property from microsecond to milliseconds, as we don't
need that sort of precision here. Also switches from using ulseep, which
has been removed from POSIX, to nanosleep.

Test: Builds, Boots, Times
Change-Id: Iefbaf8489ba05d8d688542fd7d4305efb980e701

5 years agoFixed min_free_bytes prop name and usleep time default
Satoshi Futenma [Mon, 25 Mar 2019 14:13:36 +0000 (23:13 +0900)]
Fixed min_free_bytes prop name and usleep time default

Test: check build

Bug: 129299864
Change-Id: Iab6a01d15185dd19604cd8d3d7ea4efc2b020e34