Commit graph

3955 commits

Author SHA1 Message Date
Eric Biggers
65aa48c810 vold: only allow emmc_optimized on eMMC storage am: 006eed8e3a
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/12098822

Change-Id: Ib8656b4dbd8b39a594147aace686a3fcbd3bd0d4
2020-07-08 00:23:19 +00:00
Eric Biggers
09b9cae24d [automerger skipped] vold: only allow emmc_optimized on eMMC storage am: 006eed8e3a -s ours
am skip reason: Change-Id Ie27b80658db53b1a4207b3cbb4e309d05130812e with SHA-1 eb566d0a7c is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/12098822

Change-Id: Id8c90f1833a171c12936a5f4aa2bf80574f5cb64
2020-07-08 00:22:58 +00:00
Eric Biggers
4903027a20 Merge "vold: only allow emmc_optimized on eMMC storage" am: 428ae6e90a am: 7a1c4ccb96 am: 09f789e227
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1356175

Change-Id: I277065540c289ff3a7633ebd7b0326da2da4e5a4
2020-07-07 17:59:57 +00:00
Eric Biggers
09f789e227 Merge "vold: only allow emmc_optimized on eMMC storage" am: 428ae6e90a am: 7a1c4ccb96
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1356175

Change-Id: Ie124c2cec8e4235ae999463d5c03615880e0c01e
2020-07-07 17:37:34 +00:00
Eric Biggers
7a1c4ccb96 Merge "vold: only allow emmc_optimized on eMMC storage" am: 428ae6e90a
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1356175

Change-Id: I95f471e6a2a96929b1ff854cac195b68e86309f3
2020-07-07 17:24:35 +00:00
Eric Biggers
006eed8e3a vold: only allow emmc_optimized on eMMC storage
The emmc_optimized encryption flag is specifically designed for the
limitations of inline encryption hardware that follows the eMMC
standard.  It isn't appropriate to use on other types of storage.
So, make vold enforce that it's not used on other types of storage.

Bug: 160639344
Test:
  - Enabled emmc_optimized on Cuttlefish and verified it no longer boots
  - Using a modified version of this change, verified that
    IsEmmcStorage() works as expected on various devices including
    Cuttlefish, Cuttlefish booted in GSI image mode, a device with eMMC
    storage, and a device with UFS storage.
  - Verified that VtsKernelEncryptionTest still passes
Change-Id: Ie27b80658db53b1a4207b3cbb4e309d05130812e
Merged-In: Ie27b80658db53b1a4207b3cbb4e309d05130812e
2020-07-07 10:08:22 -07:00
Eric Biggers
428ae6e90a Merge "vold: only allow emmc_optimized on eMMC storage" 2020-07-07 17:07:58 +00:00
Eric Biggers
eb566d0a7c vold: only allow emmc_optimized on eMMC storage
The emmc_optimized encryption flag is specifically designed for the
limitations of inline encryption hardware that follows the eMMC
standard.  It isn't appropriate to use on other types of storage.
So, make vold enforce that it's not used on other types of storage.

Bug: 160639344
Test:
  - Enabled emmc_optimized on Cuttlefish and verified it no longer boots
  - Using a modified version of this change, verified that
    IsEmmcStorage() works as expected on various devices including
    Cuttlefish, Cuttlefish booted in GSI image mode, a device with eMMC
    storage, and a device with UFS storage.
  - Verified that VtsKernelEncryptionTest still passes
Change-Id: Ie27b80658db53b1a4207b3cbb4e309d05130812e
2020-07-06 19:11:43 -07:00
Martijn Coenen
cf0499038f Configure backing device max_ratio for FUSE filesystems. am: a485006ab1 am: bb8a543e43
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/12024019

Change-Id: I3ea6c81e33206ef2010af0d91456b0f78437c0ba
2020-06-30 10:16:24 +00:00
Martijn Coenen
c980b5387a Configure backing device max_ratio for FUSE filesystems. am: a485006ab1 am: 5ed648d098
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/12024019

Change-Id: I98b748487dc4d517da2008dc0299f14b505273fa
2020-06-30 10:16:07 +00:00
Martijn Coenen
bb8a543e43 Configure backing device max_ratio for FUSE filesystems. am: a485006ab1
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/12024019

Change-Id: I5cd116bfb01b0fe98dfdcd7d4b8005819ccfeb11
2020-06-30 09:57:21 +00:00
Martijn Coenen
5ed648d098 Configure backing device max_ratio for FUSE filesystems. am: a485006ab1
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/12024019

Change-Id: I13d40a73f02bec902fe94ca64d825dffb7c8790a
2020-06-30 09:57:17 +00:00
Martijn Coenen
a485006ab1 Configure backing device max_ratio for FUSE filesystems.
By default FUSE filesystems have a max_ratio of 1%, meaning only 1% of
dirty pages on the system can belong to a FUSE filesystem before we
start writing back pages (and throttling, if writeback can't keep up).
This limit is useful for untrusted filesystems, but in our case, we
trust the FUSE filesystem. Since FUSE writes result in writes to the
lower filesystem, FUSE should take at most 50%. Let's start with
changing max_ratio to 40%, to avoid needless throttling.

Bug: 159254170
Bug: 159770752
Test: inspect /sys/class/bdi manually after boot
Change-Id: I467e3770fc4afba0a08fa480c0b86aa054c8b875
2020-06-30 10:16:55 +02:00
Zim
96832d4ef8 Unmount public volume if FUSE mount fails am: f71707916f am: 0f9690e391
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11900947

Change-Id: Ib1ac130a2a4cb24c4154a43c6f989b32defb474f
2020-06-22 17:08:58 +00:00
Zim
3875f982dc Unmount public volume if FUSE mount fails am: f71707916f am: c1f45db6e1
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11900947

Change-Id: Ia2a497e993ed5302f527840ed0b74fec58e994a1
2020-06-22 17:07:12 +00:00
Zim
0f9690e391 Unmount public volume if FUSE mount fails am: f71707916f
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11900947

Change-Id: Ia3c372428ad1098785f422befac0ba833d56d6a7
2020-06-22 16:54:44 +00:00
Zim
c1f45db6e1 Unmount public volume if FUSE mount fails am: f71707916f
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11900947

Change-Id: Ie390d39ede3dbd63012b0c5acdbcac57e0143145
2020-06-22 16:53:26 +00:00
Zim
f71707916f Unmount public volume if FUSE mount fails
Sometimes, during early boot, a public volume may be created before
the user is unlocked and the mount may fail. This mount failure does
not revert the lower fs mounts (sdcardfs and vfat). Subsequent
mount attempts will then fail because we'd attempt to mount vfat on
already mounted /mnt/media_rw/<volname>

Bug: 158489548
Test: Resilient to an artificial sleep in
StorageManagerService#completeUnlockUser to
delay user unlock longer than public volume mount

Change-Id: I9a1574596434a2eb6b2553c0c9220c2118c7e4fd
2020-06-22 14:26:57 +01:00
David Anderson
5280868006 [automerger skipped] Merge "Add an isCheckpointing() binder call for adb remount." into rvc-dev am: f87198e025 -s ours am: f1353b9ec4 -s ours
am skip reason: Change-Id I33a691da3b99343acfc1e8ddf68a14504c3bfbe1 with SHA-1 7e07c53aab is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11917729

Change-Id: Ibef61ff852185c8a35fdf071f40b01b60dc371fe
2020-06-19 20:33:50 +00:00
David Anderson
c01c899abf [automerger skipped] Merge "Add an isCheckpointing() binder call for adb remount." into rvc-dev am: f87198e025 am: 9f054be265 -s ours
am skip reason: Change-Id I33a691da3b99343acfc1e8ddf68a14504c3bfbe1 with SHA-1 23850d30f6 is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11917729

Change-Id: I8107dbfcea17dde5dccedb8b2abb2f8c5223c31d
2020-06-19 20:33:37 +00:00
David Anderson
f1353b9ec4 [automerger skipped] Merge "Add an isCheckpointing() binder call for adb remount." into rvc-dev am: f87198e025 -s ours
am skip reason: Change-Id I33a691da3b99343acfc1e8ddf68a14504c3bfbe1 with SHA-1 23850d30f6 is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11917729

Change-Id: I324e156e155f361491f963518f69a956ac23dd7f
2020-06-19 20:21:48 +00:00
David Anderson
9f054be265 Merge "Add an isCheckpointing() binder call for adb remount." into rvc-dev am: f87198e025
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11917729

Change-Id: I9169d3e70a48b2efb3884869c412519fb1393d02
2020-06-19 20:21:40 +00:00
David Anderson
f87198e025 Merge "Add an isCheckpointing() binder call for adb remount." into rvc-dev 2020-06-19 20:04:54 +00:00
David Anderson
7e07c53aab Add an isCheckpointing() binder call for adb remount.
This is needed so "adb remount" can avoid writing to /data during a
checkpoint.

Bug: 157540389
Test: manual test
Change-Id: I33a691da3b99343acfc1e8ddf68a14504c3bfbe1
Merged-In: I33a691da3b99343acfc1e8ddf68a14504c3bfbe1
2020-06-18 16:04:36 -07:00
TreeHugger Robot
ea4f2b73cf [automerger skipped] Merge "Don't call block checkpoint functions above dm-default-key" into rvc-dev am: 14d4e7c7df am: 3c9703d0a0 -s ours
am skip reason: Change-Id Ic15fadc67d306463dd0b554f679306d8f9081451 with SHA-1 67f9044ab5 is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11886461

Change-Id: Id88e6555c441c9c88a54d5b835ea7f531cf51716
2020-06-18 22:52:49 +00:00
TreeHugger Robot
c2369905b8 [automerger skipped] Merge "Don't call block checkpoint functions above dm-default-key" into rvc-dev am: 14d4e7c7df -s ours am: c6e83ca68d -s ours
am skip reason: Change-Id Ic15fadc67d306463dd0b554f679306d8f9081451 with SHA-1 3fe931109c is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11886461

Change-Id: I8fbea2c9dce8055fea94dc9dabe0cce2bdd6b5c4
2020-06-18 22:36:32 +00:00
Paul Lawrence
f2a3877555 Merge "Don't call block checkpoint functions above dm-default-key" am: 1bb7e8a928 am: 53f1d07339 am: ebc8801fb3
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1330879

Change-Id: Iab701b88377b966aef876d9349dae42341ea0c83
2020-06-18 22:36:21 +00:00
TreeHugger Robot
c6e83ca68d [automerger skipped] Merge "Don't call block checkpoint functions above dm-default-key" into rvc-dev am: 14d4e7c7df -s ours
am skip reason: Change-Id Ic15fadc67d306463dd0b554f679306d8f9081451 with SHA-1 3fe931109c is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11886461

Change-Id: I4559e77b9ea60cf49f4824dc93a6a6141b9fb94b
2020-06-18 22:36:16 +00:00
David Anderson
3fe914dd6a Merge "Add an isCheckpointing() binder call for adb remount." am: b50480bb96 am: 60e41b7084 am: 026ae1a9ac
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1330854

Change-Id: I4739db7174b247defd39291aad8915dfefc1d1cc
2020-06-18 22:36:07 +00:00
TreeHugger Robot
3c9703d0a0 Merge "Don't call block checkpoint functions above dm-default-key" into rvc-dev am: 14d4e7c7df
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11886461

Change-Id: I9e69b6817d8a3b34e053b86c9c33c3f7f466ec71
2020-06-18 22:35:32 +00:00
TreeHugger Robot
14d4e7c7df Merge "Don't call block checkpoint functions above dm-default-key" into rvc-dev 2020-06-18 22:22:58 +00:00
Paul Lawrence
ebc8801fb3 Merge "Don't call block checkpoint functions above dm-default-key" am: 1bb7e8a928 am: 53f1d07339
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1330879

Change-Id: I54fdd3098c52dcb53cee0956f4dd1e43e09f5800
2020-06-18 22:16:14 +00:00
David Anderson
026ae1a9ac Merge "Add an isCheckpointing() binder call for adb remount." am: b50480bb96 am: 60e41b7084
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1330854

Change-Id: I0aa0536cfd33f189525115efa07e49930f53b79a
2020-06-18 22:15:56 +00:00
Paul Lawrence
53f1d07339 Merge "Don't call block checkpoint functions above dm-default-key" am: 1bb7e8a928
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1330879

Change-Id: Ifa48af749baa5d50c7459dbb5bda1573d847b622
2020-06-18 22:00:47 +00:00
David Anderson
60e41b7084 Merge "Add an isCheckpointing() binder call for adb remount." am: b50480bb96
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1330854

Change-Id: I14674da2b3cf86c09179b94e28e76fec30378e12
2020-06-18 22:00:37 +00:00
Paul Lawrence
67f9044ab5 Don't call block checkpoint functions above dm-default-key
Bug: 156225476
Test: Build for f2fs and ext4 device, make sure checkpoints roll back
and commit

Merged-In: Ic15fadc67d306463dd0b554f679306d8f9081451
Change-Id: Ic15fadc67d306463dd0b554f679306d8f9081451
2020-06-18 21:58:32 +00:00
Paul Lawrence
1bb7e8a928 Merge "Don't call block checkpoint functions above dm-default-key" 2020-06-18 21:56:10 +00:00
David Anderson
b50480bb96 Merge "Add an isCheckpointing() binder call for adb remount." 2020-06-18 21:45:21 +00:00
Automerger Merge Worker
1c834651ab Merge "Merge "Configure read ahead for fuse mounts" into rvc-dev am: bcd7d5e7ce am: 7e29904e8c" into rvc-d1-dev-plus-aosp 2020-06-17 17:11:59 +00:00
Nikita Ioffe
5268ad04a7 Merge "Configure read ahead for fuse mounts" into rvc-dev am: bcd7d5e7ce am: 7e29904e8c
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11837171

Change-Id: I13fee40e133ae4795b92cf95ff818b77aa4ef5bf
2020-06-17 17:11:55 +00:00
Nikita Ioffe
527576e053 Merge "Configure read ahead for fuse mounts" into rvc-dev am: bcd7d5e7ce am: 356baaa10a
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11837171

Change-Id: Idae0195c2db9192e54d8a31aff8072e82d93f798
2020-06-17 17:11:54 +00:00
Nikita Ioffe
356baaa10a Merge "Configure read ahead for fuse mounts" into rvc-dev am: bcd7d5e7ce
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11837171

Change-Id: I90e3ab660ddb356bd7c0212e188b997f6bfa07d4
2020-06-17 16:53:30 +00:00
Nikita Ioffe
7e29904e8c Merge "Configure read ahead for fuse mounts" into rvc-dev am: bcd7d5e7ce
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11837171

Change-Id: I16f0f0b5925c503c66d1d7b14687232b9c30f782
2020-06-17 16:53:01 +00:00
Nikita Ioffe
bcd7d5e7ce Merge "Configure read ahead for fuse mounts" into rvc-dev 2020-06-17 16:37:37 +00:00
Nikita Ioffe
dcee5c1d21 Configure read ahead for fuse mounts
For fuse read ahead can be configured by writing a value to the
/sys/class/bdi/{MAJOR}:{MINOR}/read_ahead_kb file.

There are several different ways of getting {MAJOR}:{MINOR} values of
the filesystem:

* Look at st_dev of stat("/mnt/user/0/emulated").
* Parse /proc/self/mountinfo.

Stat'ing approach is used since it's easier to implement.

Bug: 157982297
Test: atest vold_tests
Test: adb shell cat /proc/self/mountinfo to get MAJOR:MINOR
Test: adb shell cat /sys/class/bdi/{MAJOR}:{MINOR}/read_ahead_kb
Test: created public volume, checked it's read_ahead_kb is also 256
Change-Id: Id0c149c4af1ceabf3afc33b4100563a512b38316
2020-06-17 15:58:25 +01:00
Automerger Merge Worker
7b181d2344 Merge "Add app's own UID to the default ACL. am: 1129b81071 am: 53b6f32850" into rvc-d1-dev-plus-aosp 2020-06-17 07:17:12 +00:00
Martijn Coenen
bbc2c8babc Add app's own UID to the default ACL. am: 1129b81071 am: 53b6f32850
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11871333

Change-Id: Ifcd1d4acd9e7e4077e50004d4ed35650e1c6af48
2020-06-17 07:17:08 +00:00
Martijn Coenen
615d7752c1 Add app's own UID to the default ACL. am: 1129b81071 am: 55565a991f
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11871333

Change-Id: Iaec02373329881afa98db8cae68410fccd5d3e00
2020-06-17 07:16:57 +00:00
Martijn Coenen
53b6f32850 Add app's own UID to the default ACL. am: 1129b81071
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11871333

Change-Id: Icbff1ee04a5f79582e92d5fa8ed8913260cc417f
2020-06-17 07:01:58 +00:00
Martijn Coenen
55565a991f Add app's own UID to the default ACL. am: 1129b81071
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11871333

Change-Id: Icff0c7db7e572aedb6da75c38bdea08c204e087e
2020-06-17 07:01:53 +00:00