Commit graph

3682 commits

Author SHA1 Message Date
Treehugger Robot
e8acc83d25 Merge "Acknowledge the 'nofail' fs_mgr flag and skip the expected failure." 2020-05-06 17:02:43 +00:00
P.Adarsh Reddy
167c2a658a Acknowledge the 'nofail' fs_mgr flag and skip the expected failure.
fs_mgr supports 'nofail' flag, which is used if we do not want to
error-out incase the mounting/setup fails for a partition tagged with
nofail flag in fstab.

Recently added code in vold misses this handling, i.e. it aborts even
for a nofail partition upon encountering an expected failure.

Test: Add a non-existing logical partition fstab entry with 'nofail'
      flag. Init's first stage mount acks this and doesn't crash.
      Vold aborts (as it doesn't handle it), and device doesn't boot.
      With this change, device boots up.

Change-Id: I2b1904a9c648c31bcc05b2e7e77480db236ff66e
2020-05-06 16:45:23 +00:00
Martijn Coenen
82fddb072e Introduce postMount() VolumeBase helper. am: 5ec8658abc
Change-Id: Ia2bd24b550bc9b9d3c942f4bbbd08322cb26141f
2020-05-06 09:30:46 +00:00
Martijn Coenen
5ec8658abc Introduce postMount() VolumeBase helper.
When we're mounting a private volume, we create stacked emulated volumes
on top of it. Due to the ordering there, we would broadcast the emulated
volumes being created *before* the "mounted" status update. This in turn
could cause us to try and mount these emulated volumes before the
underlying private volume is really mounted. This is problematic in
particular on devices that support a filesystem keyring, where we need
to do some additional setup before the devices can be used.

While we could modify StorageManagerService to delay the mount, a safer
fix at this stage of the release is to just fix the ordering of these
events. To achieve that, add a simple postMount() helper, that is called
after a succesful mount. This allows us to setup the volume properly
before trying to mount any stacked volumes.

Bug: 151079464
Test: atest AdoptableHostTest
Change-Id: I2cc4113d4d71d89aa629bb9c0fa9be441355c079
2020-05-04 15:09:32 +02:00
Treehugger Robot
01b59992b1 Merge "vold: fix missing has.adoptable" am: 9e2053e185 am: d4e75c211d
Change-Id: I7734099f9c1cd88c9577542684402efb8f095107
2020-04-23 22:52:12 +00:00
Treehugger Robot
d4e75c211d Merge "vold: fix missing has.adoptable" am: 9e2053e185
Change-Id: I3f87b104678fb57c627165fcd5faea846e25d343
2020-04-23 22:36:56 +00:00
Treehugger Robot
9e2053e185 Merge "vold: fix missing has.adoptable" 2020-04-23 22:15:38 +00:00
Yurii Zubrytskyi
20d7fc9160 [incfs] Use new IncFs_ReleaseControlFds() instead of duping am: fc7b6697b4
Change-Id: I808d898afe636a206518db413ff1abf3cc6d0e6d
2020-04-23 21:56:14 +00:00
Jaegeuk Kim
4ea573aca7 vold: fix missing has.adoptable
This patch fixes missing entry in the below commit.

Fixes: c52f6724ed ("vold: clean up configuration set")
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
Change-Id: Ia39a427d4747b29a7af42633f34daab63204bbf9
2020-04-23 13:43:12 -07:00
Yurii Zubrytskyi
fc7b6697b4 [incfs] Use new IncFs_ReleaseControlFds() instead of duping
Vold needs to pass / accept IncFs control via Binder, so it
neeeds to get and put its internal FDs in and out. Using the new
release() function it works without extra fd duping

Bug: 153704006
Test: builds & boots
Change-Id: I64bc5b1ca9f2c69e34c3a860ed3edbe58bd9ea29
2020-04-22 23:26:32 -07:00
Treehugger Robot
bcbddda15a [automerger skipped] Merge "Introduce ro.crypto.uses_fs_ioc_add_encryption_key property" am: 83c78a2bb1 am: ebcd59d19b -s ours
am skip reason: Change-Id I562df49deffdccdb2cfd657130fc05b24d40a6a6 with SHA-1 78f806198f is in history

Change-Id: Ib183a53d8b49427ddf243d22db5df1f4b2b9815e
2020-04-21 16:20:32 +00:00
Treehugger Robot
ebcd59d19b Merge "Introduce ro.crypto.uses_fs_ioc_add_encryption_key property" am: 83c78a2bb1
Change-Id: Icfcf0222bd97d52d6fed2eeef3c3fca335d8b93e
2020-04-21 16:07:15 +00:00
Treehugger Robot
83c78a2bb1 Merge "Introduce ro.crypto.uses_fs_ioc_add_encryption_key property" 2020-04-21 15:51:20 +00:00
Nikita Ioffe
c1dce0695b Merge "Introduce ro.crypto.uses_fs_ioc_add_encryption_key property" into rvc-dev am: 4e1e7ef09a
Change-Id: I6c88e5725a1e8ed3300bfeda5bed26b0c8875e72
2020-04-21 14:44:48 +00:00
Nikita Ioffe
eea8bd39a2 Introduce ro.crypto.uses_fs_ioc_add_encryption_key property
Bug: 154327249
Test: adb shell getprop ro.crypto.uses_fs_ioc_add_encryption_key
Test: adb bugreport && checked content contains new property
Change-Id: I562df49deffdccdb2cfd657130fc05b24d40a6a6
Merged-In: I562df49deffdccdb2cfd657130fc05b24d40a6a6
(cherry picked from commit 78f806198f)
2020-04-21 15:28:41 +01:00
Nikita Ioffe
4e1e7ef09a Merge "Introduce ro.crypto.uses_fs_ioc_add_encryption_key property" into rvc-dev 2020-04-21 14:27:18 +00:00
Martijn Coenen
9c306323e2 Merge "Don't do private app-dir permissions/quota on public volumes." into rvc-dev am: 15070b1833
Change-Id: Ibc6535772cd77c1f68c380e0993f79fdacca55e1
2020-04-21 12:42:22 +00:00
Martijn Coenen
15070b1833 Merge "Don't do private app-dir permissions/quota on public volumes." into rvc-dev 2020-04-21 12:22:58 +00:00
TreeHugger Robot
92cd800665 Merge "Bind mount install and android writable DATA and OBB dirs" into rvc-dev am: 086c96ef6d
Change-Id: I288fc55dffe20f273be3e74e4fe4d69b29d13da0
2020-04-21 11:25:16 +00:00
TreeHugger Robot
086c96ef6d Merge "Bind mount install and android writable DATA and OBB dirs" into rvc-dev 2020-04-21 11:08:07 +00:00
Nikita Ioffe
78f806198f Introduce ro.crypto.uses_fs_ioc_add_encryption_key property
Bug: 154327249
Test: adb shell getprop ro.crypto.uses_fs_ioc_add_encryption_key
Test: adb bugreport && checked content contains new property
Change-Id: I562df49deffdccdb2cfd657130fc05b24d40a6a6
2020-04-20 22:21:49 +01:00
Ricky Wai
ef63921f81 Bind mount install and android writable DATA and OBB dirs
To improvement performance, and also making them able to list
the dirs.

This should also be fine under b/151055432, as the whole obb
directory is mounted, renameTo() from installer to apps should be
a move not copy.

Bug: 153422990
Bug: 153540919
Test: atest AdoptableHostTest
Change-Id: Ia18fd4393db14a0f11d6e5b947dd716515bdeeef
2020-04-20 15:06:58 +01:00
Martijn Coenen
bf205ab7d4 Don't do private app-dir permissions/quota on public volumes.
While looking at some emulator logs, I noticed that we fail to create
dirs like /Android/data/com.foo/cache on public volumes, because we try
to chmod it; public volumes go completely through FUSE, even for
Android/, and so these operations will fail, because the underlying
UID/GID is not setup correctly.

Really the only thing we really have to do on public volumes is create
the dirs, like we used to do.

Bug: 152618535
Test: manually verify cache dirs can be created successfully
Change-Id: I66e5d0873f1198123787943b17b468eadf0a853d
2020-04-20 15:20:09 +02:00
Martijn Coenen
c41ac2f3d7 Rename casefold/projectid properties (for f2fs). am: e9239f757e
Change-Id: Ib895adcd495dd3dc4e9d675d1990d04b173a1b14
2020-04-17 14:41:07 +00:00
Martijn Coenen
d4de3bd143 [automerger skipped] Rename casefold/projectid properties. am: aee6b6fccd -s ours
am skip reason: Change-Id Iaebff2a835288839a2faf0edbe0e47ceb96b4458 with SHA-1 97ff0845e2 is in history

Change-Id: If48e613ce1fba64f6bf9bf8613ce93d76cf8b31f
2020-04-17 08:10:15 +00:00
Martijn Coenen
729c26033e Merge "Rename casefold/projectid properties." am: 9d0508a854 am: 5901d6f492
Change-Id: Ic9982c15351008ff686f9bf395ae8f3b4adcdb30
2020-04-16 08:35:08 +00:00
Martijn Coenen
5901d6f492 Merge "Rename casefold/projectid properties." am: 9d0508a854
Change-Id: If27cbdd3df8bb53b8e27a772be9b0826a8fce4e4
2020-04-16 08:21:00 +00:00
Martijn Coenen
e9239f757e Rename casefold/projectid properties (for f2fs).
According to property naming guidelines.

Bug: 152170470
Bug: 153525566
Test: N/A
Change-Id: Iad1caff6e5cfb7f6a09b77532d64a24de9b0b3c6
2020-04-16 10:18:36 +02:00
Martijn Coenen
aee6b6fccd Rename casefold/projectid properties.
According to property naming guidelines.

Bug: 152170470
Bug: 153525566
Test: N/A
Change-Id: Iaebff2a835288839a2faf0edbe0e47ceb96b4458
Merged-In: Iaebff2a835288839a2faf0edbe0e47ceb96b4458
2020-04-16 10:18:30 +02:00
Martijn Coenen
9d0508a854 Merge "Rename casefold/projectid properties." 2020-04-16 08:06:53 +00:00
Martijn Coenen
97ff0845e2 Rename casefold/projectid properties.
According to property naming guidelines.

Bug: 152170470
Bug: 153525566
Test: N/A
Change-Id: Iaebff2a835288839a2faf0edbe0e47ceb96b4458
2020-04-15 17:29:21 +02:00
Jaegeuk Kim
564f7e7713 Merge changes from topic "fscompression" am: 7f4a71c2ff am: 0f5df6477d
Change-Id: I3b1d5956b6c3783b14b203c1d6d234d6b97667f7
2020-04-14 16:09:28 +00:00
Jaegeuk Kim
d6cf8998e2 vold: support F2FS compression am: f64d30aa82 am: 0770085201
Change-Id: I3bef3bef7704f7ef12a8774064ec1382fa4801d1
2020-04-14 16:09:24 +00:00
Jaegeuk Kim
0f5df6477d Merge changes from topic "fscompression" am: 7f4a71c2ff
Change-Id: I42086b7abde79ae1edb177f3668c73b1c7972295
2020-04-14 15:58:32 +00:00
Jaegeuk Kim
0770085201 vold: support F2FS compression am: f64d30aa82
Change-Id: I03d6c574c922f08c67a662e483a1ed05ea7c4351
2020-04-14 15:58:30 +00:00
Jaegeuk Kim
7f4a71c2ff Merge changes from topic "fscompression"
* changes:
  vold: clean up configuration set
  vold: support F2FS compression
2020-04-14 15:54:18 +00:00
Jaegeuk Kim
c52f6724ed vold: clean up configuration set
This patch introduces a structure to manipulate many configuration flags.

Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
Change-Id: Ib15d2b6e251741160d2febe695132a37f9dde23c
2020-04-13 13:14:14 -07:00
Xin Li
64a17820a5 [automerger skipped] DO NOT MERGE - Empty merge qt-qpr1-dev-plus-aosp into stag-aosp-master am: b4a3c55026 -s ours
am skip reason: subject contains skip directive

Change-Id: I7f117d3116a53998624318365c8117df3ad4e3a6
2020-04-10 03:08:48 +00:00
Xin Li
b4a3c55026 DO NOT MERGE - Empty merge qt-qpr1-dev-plus-aosp into stag-aosp-master
Bug: 151763422
Change-Id: I04b8a113f3194fc4de80da1f4c0f9551115e6529
2020-04-09 17:51:30 -07:00
Treehugger Robot
6a11ad41dd [automerger skipped] Merge "Send earlyBootEnded notice to all Keymasters" am: 0e9fbe4a3e am: 483de9f5fd -s ours
am skip reason: Change-Id Id8f01a1dc7d2398395f369c3ea74656a82888829 with SHA-1 50397a72f1 is in history

Change-Id: Ib4400fdb5f38dfb2ac9eb9b93318f34601101ddc
2020-04-09 22:52:28 +00:00
Treehugger Robot
483de9f5fd Merge "Send earlyBootEnded notice to all Keymasters" am: 0e9fbe4a3e
Change-Id: Ia8f5e55336e3a4d0a71d353b2f28553cf6196bd6
2020-04-09 22:31:09 +00:00
Treehugger Robot
0e9fbe4a3e Merge "Send earlyBootEnded notice to all Keymasters" 2020-04-09 22:07:40 +00:00
Shawn Willden
28eddbd2ef Send earlyBootEnded notice to all Keymasters
Vold incorrectly sends the earlyBootEnded signal only to the Keymaster
instance used for device encryption, but all of them need it.

Bug: 152932559
Test: VtsHalKeymasterV4_1TargetTest
Merged-In: Id8f01a1dc7d2398395f369c3ea74656a82888829
Change-Id: Id8f01a1dc7d2398395f369c3ea74656a82888829
2020-04-09 15:22:43 -06:00
TreeHugger Robot
1ece05143d [automerger skipped] Merge "Choose options format using property" into rvc-dev am: 0fbd0c1542 -s ours
am skip reason: Change-Id Ib51071b7c316ce074de72439741087b18335048c with SHA-1 f56d553bab is in history

Change-Id: I3500b37255c57f5dd74307801e9833ea6bdea08d
2020-04-08 00:24:33 +00:00
TreeHugger Robot
0fbd0c1542 Merge "Choose options format using property" into rvc-dev 2020-04-08 00:10:59 +00:00
Paul Crowley
4073c0b524 Choose options format using property
To make it easier to support disk formats created using old versions
of dm-default-key with new kernels, choose the disk format to use
based on options_format_version and first_api_version properties
instead of checking the version number of the kernel module.

Bug: 150761030
Test: crosshatch and cuttlefish boot normally; cuttlefish
    fails with "default-key: Not enough arguments" as expected when
    option is set to 1
Cherry-Picked-From: f56d553bab
Merged-In: Ib51071b7c316ce074de72439741087b18335048c
Change-Id: Ib51071b7c316ce074de72439741087b18335048c
2020-04-07 07:35:16 -07:00
Paul Crowley
cd5936e264 Merge "Choose options format using property" am: 479588c68e am: 30c1b0225e
Change-Id: Id82ce73849059e7792422023afc66cba13833ecc
2020-04-07 04:08:32 +00:00
Paul Crowley
7f076f9142 Merge "Choose options format using property" am: 479588c68e am: 30c1b0225e
Change-Id: Ic6b4c8e252ea9f3285c0646c7ed26d0bb54a2a88
2020-04-07 04:07:38 +00:00
Paul Crowley
30c1b0225e Merge "Choose options format using property" am: 479588c68e
Change-Id: I67523617a54957da6a3fae7cd9233ff47627578d
2020-04-07 03:48:07 +00:00
Paul Crowley
479588c68e Merge "Choose options format using property" 2020-04-07 03:23:57 +00:00