OSDN Git Service

android-x86/system-vold.git
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 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
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 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
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
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 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
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
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 "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

5 years agoConvert ifstream usage into fopen() to prevent fd leaks into child processes
Suren Baghdasaryan [Tue, 26 Mar 2019 17:00:05 +0000 (10:00 -0700)]
Convert ifstream usage into fopen() to prevent fd leaks into child processes

std::ifstream does not use O_CLOEXEC flag when opening files. This leads
to file descriptors being inherited by child processes. In the case of vold
this results in leaking FDs to less privileged children with no permission
for these files which occasionally leads to SELinux denials.

Bug: 129298168
Change-Id: Id2731782a25d65c9a7cbf25dc441f3e7a17609c1
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
5 years agoMerge "Remove excess logging in secdiscard" am: b640f4e337
Rubin Xu [Fri, 22 Mar 2019 13:23:33 +0000 (06:23 -0700)]
Merge "Remove excess logging in secdiscard" am: b640f4e337
am: 2c1e98d69f

Change-Id: I767847aa355adf893189e329b67c78a5145245e3

5 years agoMerge "Remove excess logging in secdiscard"
Rubin Xu [Fri, 22 Mar 2019 13:17:06 +0000 (06:17 -0700)]
Merge "Remove excess logging in secdiscard"
am: b640f4e337

Change-Id: Ic4509611efc55b0953ccca02fd7730740982728a

5 years agoMerge "Remove excess logging in secdiscard"
Treehugger Robot [Fri, 22 Mar 2019 13:05:35 +0000 (13:05 +0000)]
Merge "Remove excess logging in secdiscard"

5 years agoMerge changes I977cc03b,I7b621476,Ib57f4461 am: 58551c0568
Daniel Rosenberg [Thu, 21 Mar 2019 21:23:22 +0000 (14:23 -0700)]
Merge changes I977cc03b,I7b621476,Ib57f4461 am: 58551c0568
am: 5da6d2a0f9

Change-Id: I98125f4b3277601bf2795e76cb8b8b889e1725e4

5 years agoMerge changes I977cc03b,I7b621476,Ib57f4461
Daniel Rosenberg [Thu, 21 Mar 2019 21:19:27 +0000 (14:19 -0700)]
Merge changes I977cc03b,I7b621476,Ib57f4461
am: 58551c0568

Change-Id: I0ecec87455c3c8daa53b00be941539998eea1cd2

5 years agoMerge changes I977cc03b,I7b621476,Ib57f4461
Daniel Rosenberg [Thu, 21 Mar 2019 21:01:08 +0000 (21:01 +0000)]
Merge changes I977cc03b,I7b621476,Ib57f4461

* changes:
  Add health check to checkpointing
  Change abortChanges to take a message and bool
  Make needsCheckpoint cover whole session

5 years agoAdd health check to checkpointing
Daniel Rosenberg [Wed, 21 Nov 2018 03:03:11 +0000 (19:03 -0800)]
Add health check to checkpointing

Take action if we are running out of checkpoint space.
Configurable via ro.sys properties.
ro.sys.cp_usleeptime = Time to sleep between checks
ro.sys.cp_min_free_bytes = Min free space to act on
ro.sys.cp_commit_on_full = action to take. Either commits or reboots to
                           continue attempt without checkpoint, or retry
   and eventually abort OTA

Test: Trigger a checkpoint and fill the disk.
Bug: 119769392
Change-Id: I977cc03b7aef9320d661c8a0d716f8a1ef0be347

5 years agoChange abortChanges to take a message and bool
Daniel Rosenberg [Thu, 21 Mar 2019 00:02:47 +0000 (17:02 -0700)]
Change abortChanges to take a message and bool

abortChanges will attempt to pass a reboot message, and will only reboot
if the device is currently checkpointing. Additionally, it can opt to
attempt to prevent future attempts. This only works for non-bootloader
controlled updates. Failures are ignored, as it will always reboot the
device. In the unlikely event of such a failure, the device will
continue to retry as though you did not ask to prevent future attempts.

Test: vdc checkpoint abortChanges abort_retry_test 1
      vdc checkpoint abortChanges abort_noretry_test 0

Change-Id: I7b6214765a1faaf4fd193c73331696b53ae572d2

5 years agoMake needsCheckpoint cover whole session
Daniel Rosenberg [Tue, 19 Mar 2019 21:02:59 +0000 (14:02 -0700)]
Make needsCheckpoint cover whole session

This makes needCheckpoint return true when the device will or is using
checkpointing.

Test: vdc checkpoint startCheckpoint 1
      reboot
      vdc checkpoint needsCheckpoint
      should return 1 before and after data mounts, and 0 once the
      checkpoint has been committed

Change-Id: Ib57f4461d837f41a8110ed318168165a684d913a

5 years agoRemove excess logging in secdiscard
Rubin Xu [Thu, 21 Mar 2019 18:13:40 +0000 (18:13 +0000)]
Remove excess logging in secdiscard

Remove all debug logs to reduce logspam a bit.

Bug: 64349233
Test: manual
Change-Id: I234fae7b9fb719b09af27985736f43f085dad301

5 years agoMerge "Shell no longer globs, so glob in pushBackContents" am: a41b7849d0
Paul Crowley [Tue, 19 Mar 2019 19:35:48 +0000 (12:35 -0700)]
Merge "Shell no longer globs, so glob in pushBackContents" am: a41b7849d0
am: 04017039b7

Change-Id: Ifc9ef0e513dd3d7ed6d0b67ddbec236145196b18

5 years agoMerge "Shell no longer globs, so glob in pushBackContents"
Paul Crowley [Tue, 19 Mar 2019 19:31:37 +0000 (12:31 -0700)]
Merge "Shell no longer globs, so glob in pushBackContents"
am: a41b7849d0

Change-Id: Iedd9a6d6834adc844e13e9ec596062032588fd53

5 years agoMerge "Shell no longer globs, so glob in pushBackContents"
Paul Crowley [Tue, 19 Mar 2019 19:13:56 +0000 (19:13 +0000)]
Merge "Shell no longer globs, so glob in pushBackContents"

5 years agoMerge "Add vdc checkpoint supportsBlockCheckpoint" am: 860c731158
Paul Lawrence [Mon, 18 Mar 2019 23:27:46 +0000 (16:27 -0700)]
Merge "Add vdc checkpoint supportsBlockCheckpoint" am: 860c731158
am: 4c5ce24e80

Change-Id: I60320da84c973841b4efd425e0cfc7cc81052fe6

5 years agoMerge "Add vdc checkpoint supportsBlockCheckpoint"
Paul Lawrence [Mon, 18 Mar 2019 23:08:51 +0000 (16:08 -0700)]
Merge "Add vdc checkpoint supportsBlockCheckpoint"
am: 860c731158

Change-Id: I61a7059649e8dc0ff5096f3494d5e4b0f8f3b787

5 years agoMerge "Add vdc checkpoint supportsBlockCheckpoint"
Treehugger Robot [Mon, 18 Mar 2019 22:56:47 +0000 (22:56 +0000)]
Merge "Add vdc checkpoint supportsBlockCheckpoint"

5 years agoAdd vdc checkpoint supportsBlockCheckpoint
Paul Lawrence [Mon, 18 Mar 2019 20:36:40 +0000 (13:36 -0700)]
Add vdc checkpoint supportsBlockCheckpoint

Also add vdc checkpoint supportsFileCheckpoint
This is to allow tests to be specific to supported checkpoint mode.

Test: Built on Taimen and Crosshatch, made sure both new functions work
as expected

Change-Id: I0eab7453b13c0a2e31840ef9ad24a692cec55b00

5 years agoShell no longer globs, so glob in pushBackContents
Paul Crowley [Mon, 18 Mar 2019 17:26:47 +0000 (10:26 -0700)]
Shell no longer globs, so glob in pushBackContents

Bug: 113246065
Bug: 123057215

Test: As described in b/113246065 comment 1
Change-Id: Id766773ed4abe80a9fc1d5305f099aedfe8eed90

5 years agoMerge "Fsync directories before delete key" am: 7573874d3f
Chris Fries [Thu, 14 Mar 2019 15:40:08 +0000 (08:40 -0700)]
Merge "Fsync directories before delete key" am: 7573874d3f
am: 3a38070bbf

Change-Id: I568a6e8a39929b77ba76b021657e248a4e49e470

5 years agoMerge "Fsync directories before delete key"
Chris Fries [Thu, 14 Mar 2019 15:34:06 +0000 (08:34 -0700)]
Merge "Fsync directories before delete key"
am: 7573874d3f

Change-Id: I568638b5de3c58d868024f959f890094eb1bd501

5 years agoMerge "Fsync directories before delete key"
Chris Fries [Thu, 14 Mar 2019 15:19:20 +0000 (15:19 +0000)]
Merge "Fsync directories before delete key"

5 years agoFsync directories before delete key
Woody Lin [Mon, 11 Mar 2019 12:58:20 +0000 (20:58 +0800)]
Fsync directories before delete key

The boot failure symptom is reproduced on Walleye devices. System boots
up after taking OTA and try to upgrade key, but keymaster returns "failed
to ugprade key". Device reboots to recovery mode because of the failure,
and finally trapped in bootloader screen. Possible scenario is:

(After taking OTA)
vold sends old key and op=UPGRADE to keymaster
keymaster creates and saves new key to RPMB, responses new key to vold
vold saves new key as temp key
vold renames temp key to main key -------------- (1) -- still in cache
vold sends old key and op=DELETE_KEY to keymaster
keymaster removes old key from RPMB ------------ (2) -- write directly to RPMB
==> SYSTEM INTERRUPTED BY CRASH OR SOMETHING; ALL CACHE LOST.
==> System boots up, key in RPMB is deleted but key in storage is old key.

Solution: A Fsync is required between (1) and (2) to cover this case.

Detail analysis: b/124279741#comment21

Bug: 112145641
Bug: 124279741
Test: Insert fault right after deleteKey in vold::begin (KeyStorage.cpp),
      original boot failure symptom is NOT reproducible.
Change-Id: Ib8c349d6d033f86b247f4b35b8354d97cf249d26

5 years ago[automerger skipped] Merge "DO NOT MERGE - Skip PPRL.190305.001 into master" am:...
The Android Open Source Project [Tue, 12 Mar 2019 00:14:30 +0000 (17:14 -0700)]
[automerger skipped] Merge "DO NOT MERGE - Skip PPRL.190305.001 into master" am: 027fe9217c -s ours
am: e1d82ea744 -s ours
am skip reason: subject contains skip directive

Change-Id: Ia2810aced1e11dc131b010e4d45833eded34ae26

5 years ago[automerger skipped] DO NOT MERGE - Skip PPRL.190305.001 into master am: 37c6ce4fb0...
The Android Open Source Project [Tue, 12 Mar 2019 00:13:37 +0000 (17:13 -0700)]
[automerger skipped] DO NOT MERGE - Skip PPRL.190305.001 into master am: 37c6ce4fb0 -s ours
am: 1a158c67a0 -s ours
am skip reason: subject contains skip directive

Change-Id: I853be075f650f9afcc8271dc6e80d4766f847be9

5 years ago[automerger skipped] Merge "DO NOT MERGE - Skip PPRL.190305.001 into master"
The Android Open Source Project [Mon, 11 Mar 2019 23:55:26 +0000 (16:55 -0700)]
[automerger skipped] Merge "DO NOT MERGE - Skip PPRL.190305.001 into master"
am: 027fe9217c -s ours
am skip reason: subject contains skip directive

Change-Id: I2dc06015f2c873a8d9a62d743d97fc489937b644

5 years ago[automerger skipped] DO NOT MERGE - Skip PPRL.190305.001 into master
The Android Open Source Project [Mon, 11 Mar 2019 23:54:31 +0000 (16:54 -0700)]
[automerger skipped] DO NOT MERGE - Skip PPRL.190305.001 into master
am: 37c6ce4fb0 -s ours
am skip reason: subject contains skip directive

Change-Id: I6fa5c1108107e07e1d6c77592eaa6269672fdd2b

5 years agoMerge "DO NOT MERGE - Skip PPRL.190305.001 into master"
Treehugger Robot [Mon, 11 Mar 2019 23:16:31 +0000 (23:16 +0000)]
Merge "DO NOT MERGE - Skip PPRL.190305.001 into master"

5 years agoDO NOT MERGE - Skip PPRL.190305.001 into master
The Android Open Source Project [Mon, 11 Mar 2019 21:57:55 +0000 (14:57 -0700)]
DO NOT MERGE - Skip PPRL.190305.001 into master

Bug: 127812889
Change-Id: I5bff7948e2fc254d0595329bd7a7262586de0c32

5 years agoMerge "Don't unmount /storage for early native processes" am: ee9554b2d9
Jiyong Park [Sat, 9 Mar 2019 02:00:12 +0000 (18:00 -0800)]
Merge "Don't unmount /storage for early native processes" am: ee9554b2d9
am: b5acb5bfba

Change-Id: I2c3b48550a64486214835fbcfa1879cc2cbddb2b

5 years agoMerge "Don't unmount /storage for early native processes"
Jiyong Park [Sat, 9 Mar 2019 01:55:15 +0000 (17:55 -0800)]
Merge "Don't unmount /storage for early native processes"
am: ee9554b2d9

Change-Id: I985413323a86816b392bd00211c550aef93328ae

5 years agoMerge "Don't unmount /storage for early native processes"
Treehugger Robot [Sat, 9 Mar 2019 01:33:40 +0000 (01:33 +0000)]
Merge "Don't unmount /storage for early native processes"

5 years agoMerge changes I91cf0def,I47570e8e am: 5f01cf3cac
Daniel Rosenberg [Fri, 8 Mar 2019 03:32:33 +0000 (19:32 -0800)]
Merge changes I91cf0def,I47570e8e am: 5f01cf3cac
am: 84ceaedb59

Change-Id: Ibc16fa468ce9f3253bc133d2cc52c966c8eac96d

5 years agoMerge changes I91cf0def,I47570e8e
Daniel Rosenberg [Fri, 8 Mar 2019 02:43:46 +0000 (18:43 -0800)]
Merge changes I91cf0def,I47570e8e
am: 5f01cf3cac

Change-Id: If269c0d3134dc98683982a96224885503b2f8434

5 years agoMerge changes I91cf0def,I47570e8e
Treehugger Robot [Thu, 7 Mar 2019 23:56:21 +0000 (23:56 +0000)]
Merge changes I91cf0def,I47570e8e

* changes:
  Make Checkpoint restore resume safe
  Add vdc checkpoint restoreCheckpointPart

5 years agoMake Checkpoint restore resume safe
Daniel Rosenberg [Sat, 2 Mar 2019 06:01:22 +0000 (22:01 -0800)]
Make Checkpoint restore resume safe

This allows us to resume rolling back in the event of an unexpected
shutdown during the restore process. We save  progress after we process
each log sector, and whenever restarting the current log sector would
result in invalid data.

Test: Run restore, interrupt it, and attempt to resume
Change-Id: I91cf0defb0d22fc5afdb9debc2963c956e9e171c

5 years agoAdd vdc checkpoint restoreCheckpointPart
Daniel Rosenberg [Thu, 7 Mar 2019 01:45:17 +0000 (17:45 -0800)]
Add vdc checkpoint restoreCheckpointPart

Restores the first n entries of a checkpoint. Allows automated testing
of interrupted restores.

Test: vdc checkpoint restoreCheckpoint [device] [n]
Change-Id: I47570e8eba0bc3c6549a04a33600df05d393990b

5 years agoMerge "Switch Checkpoint Restore code to c style File ops" am: bc1901f8af
Daniel Rosenberg [Thu, 7 Mar 2019 06:21:45 +0000 (22:21 -0800)]
Merge "Switch Checkpoint Restore code to c style File ops" am: bc1901f8af
am: 73cfd4918b

Change-Id: I2df8869defe16ba3886f999dc993ab802b77086e

5 years agoMerge "Switch Checkpoint Restore code to c style File ops"
Daniel Rosenberg [Thu, 7 Mar 2019 06:16:41 +0000 (22:16 -0800)]
Merge "Switch Checkpoint Restore code to c style File ops"
am: bc1901f8af

Change-Id: I52f3551d5a86d7e2edbb116bec98e8d2a11535df

5 years agoMerge "Switch Checkpoint Restore code to c style File ops"
Daniel Rosenberg [Thu, 7 Mar 2019 06:10:58 +0000 (06:10 +0000)]
Merge "Switch Checkpoint Restore code to c style File ops"

5 years agoSwitch Checkpoint Restore code to c style File ops
Daniel Rosenberg [Tue, 5 Mar 2019 05:46:31 +0000 (21:46 -0800)]
Switch Checkpoint Restore code to c style File ops

In preparation for restore code, we need to guarantee fsync happens.
Switch over to fd based operations to prepare for that.

Test: Successfully restores device over reboots
Change-Id: Ic9901779e8a4258bf8090d6a62fa9829e343fd39

5 years agoDon't unmount /storage for early native processes
Jiyong Park [Fri, 4 Jan 2019 04:35:25 +0000 (13:35 +0900)]
Don't unmount /storage for early native processes

Motivation:

Early processes launched before the runtime APEX - that hosts the bionic
libs - is activated can't use the bionic libs from the APEX, but from the
system partition (which we call the bootstrap bionic). Other processes
after the APEX activation should use the bionic libs from the APEX.
In order to let both types of processes to access the bionic libs via
the same standard paths /system/lib/{libc|libdl|libm}.so, some mount
namespace magic is used.

To be specific, when the device boots, the init initially bind-mounts
the bootstrap bionic libs to the standard paths with MS_PRIVATE. Early
processes are then executed with their own mount namespaces (via
unshare(CLONE_NEWNS)). After the runtime APEX is activated, init
bind-mounts the bionic libs in the APEX to the same standard paths.
Processes launched thereafter use the bionic libs from the APEX (which
can be updated.)

Important thing is that, since the propagation type of the mount points
(the standard paths) is 'private', the new bind-mount events for the
updated bionic libs should not affect the early processes. Otherwise,
they would experience sudden change of bionic libs at runtime. However,
other mount/unmounts events outside of the private mount points are
still shared across early/late processes as before. This is made possible
because the propagation type of / is 'shared' .

Problem:

vold uses the equality of the mount namespace to filter-out processes
that share the global mount namespace (the namespace of the init). However,
due to the aforementioned change, the early processes are not filtered
out because they have different mount namespaces. As a result,
umount2("/storage/") is executed on them and this unmount event
becomes visible to the global mount namespace (because as mentioned before /
is 'shared').

Solution:

Fiter-out the early processes by skipping a native (non-Java) process
whose UID is < AID_APP. The former condition is because all early
processes are native ones; i.e., zygote is started after the runtime
APEX is activated. The latter condition is to not filter-out native
processes created locally by apps.

Bug: 120266448
Test: m; device boots

Change-Id: I054deedc4af8421854cf35be84e14995523a259a

5 years agoMerge "Make restore validation fast by using a map" am: decda14f02
Paul Lawrence [Fri, 1 Mar 2019 21:39:26 +0000 (13:39 -0800)]
Merge "Make restore validation fast by using a map" am: decda14f02
am: 2962054d72

Change-Id: I53a27dfb9a212646d27ff01960a49f040391d15b

5 years agoMerge "Make restore validation fast by using a map"
Paul Lawrence [Fri, 1 Mar 2019 21:35:24 +0000 (13:35 -0800)]
Merge "Make restore validation fast by using a map"
am: decda14f02

Change-Id: I92c5bdf046ac7e6b2211021698990592fe5f3895

5 years agoMerge "Make restore validation fast by using a map"
Paul Lawrence [Fri, 1 Mar 2019 21:19:27 +0000 (21:19 +0000)]
Merge "Make restore validation fast by using a map"

5 years agoMake restore validation fast by using a map
Paul Lawrence [Tue, 22 Jan 2019 22:31:43 +0000 (14:31 -0800)]
Make restore validation fast by using a map

Test: Successfully restores device over reboots
Change-Id: I4f1c5bbe6c07697a925a1a4efb92aefd15b61332

5 years agoMerge stage-aosp-master into pi-dev-plus-aosp
Xin Li [Mon, 25 Feb 2019 08:32:04 +0000 (00:32 -0800)]
Merge stage-aosp-master into pi-dev-plus-aosp

Bug: 126125118
Change-Id: I9fc676dc36e9d71e959b635fc1f87acfaa30c7a6

5 years agoDO NOT MERGE - Merge pi-dev@5234907 into stage-aosp-master
Xin Li [Thu, 21 Feb 2019 00:20:13 +0000 (16:20 -0800)]
DO NOT MERGE - Merge pi-dev@5234907 into stage-aosp-master

Bug: 120848293
Change-Id: Ia3e46d3c5ca83da01e78e076d2810620812f5115

5 years agoMerge "Do not trim unless we are actually checkpointing" am: 2268c285a5
Paul Lawrence [Wed, 20 Feb 2019 12:30:53 +0000 (04:30 -0800)]
Merge "Do not trim unless we are actually checkpointing" am: 2268c285a5
am: 9de5e3c028

Change-Id: I6f3edfe3c3e98f03793bc3e598caff8d677422bc

5 years agoMerge "Do not trim unless we are actually checkpointing"
Paul Lawrence [Wed, 20 Feb 2019 12:22:43 +0000 (04:22 -0800)]
Merge "Do not trim unless we are actually checkpointing"
am: 2268c285a5

Change-Id: I031a25204269ea7d3d65349a3f281a3f1e07eadd

5 years agoMerge "Do not trim unless we are actually checkpointing"
Treehugger Robot [Wed, 20 Feb 2019 12:09:31 +0000 (12:09 +0000)]
Merge "Do not trim unless we are actually checkpointing"

5 years agoDo not trim unless we are actually checkpointing
Paul Lawrence [Tue, 19 Feb 2019 22:18:54 +0000 (14:18 -0800)]
Do not trim unless we are actually checkpointing

I'm not convinced this explains the full regression, but it's a
worthwhile fix anyway.

Bug: 124774357
Test: Booted in checkpoint mode and non checkpoint mode

Change-Id: I6e0e1e59e27bd127feac218fff7d88bb3570b530

5 years ago[automerger skipped] Merge "DO NOT MERGE - Skip pi-platform-release (PPRL.190205...
Xin Li [Thu, 14 Feb 2019 22:23:00 +0000 (14:23 -0800)]
[automerger skipped] Merge "DO NOT MERGE - Skip pi-platform-release (PPRL.190205.001) into stage-aosp-master" into stage-aosp-master
am: c3df248685 -s ours
am skip reason: subject contains skip directive

Change-Id: Ic08bbe29aa3bb45ae270210f7b1d2711fbed5b18

5 years agoMerge "DO NOT MERGE - Skip pi-platform-release (PPRL.190205.001) into stage-aosp...
Xin Li [Thu, 14 Feb 2019 22:11:30 +0000 (22:11 +0000)]
Merge "DO NOT MERGE - Skip pi-platform-release (PPRL.190205.001) into stage-aosp-master" into stage-aosp-master

5 years agoMerge "Enable metadata encryption for userdata_gsi." am: 99046b75c4
David Anderson [Thu, 14 Feb 2019 20:47:07 +0000 (12:47 -0800)]
Merge "Enable metadata encryption for userdata_gsi." am: 99046b75c4
am: 8b90acafcd

Change-Id: I1a8bde686283af1f467edaeb5c735f6ed1721234

5 years agoMerge "Enable metadata encryption for userdata_gsi."
David Anderson [Thu, 14 Feb 2019 20:41:46 +0000 (12:41 -0800)]
Merge "Enable metadata encryption for userdata_gsi."
am: 99046b75c4

Change-Id: I90d530403f635427c7695e6a106526b51a7fc146

5 years agoMerge "Enable metadata encryption for userdata_gsi."
David Anderson [Thu, 14 Feb 2019 20:27:05 +0000 (20:27 +0000)]
Merge "Enable metadata encryption for userdata_gsi."

5 years agoEnable metadata encryption for userdata_gsi.
David Anderson [Wed, 6 Feb 2019 01:32:05 +0000 (17:32 -0800)]
Enable metadata encryption for userdata_gsi.

When running a live GSI, userdata is a logical partition. If we don't
fix up the fstab we'll derive the underlying block device instead of
the device-mapper node for userdat_gsi, resulting in a corrupt data
partition for both images.

Bug: 123906417
Test: manual test
Change-Id: Ic0101f30504de26e725442da2da3888008c31b63

5 years agoDO NOT MERGE - Skip pi-platform-release (PPRL.190205.001) into stage-aosp-master
Xin Li [Wed, 13 Feb 2019 00:41:37 +0000 (16:41 -0800)]
DO NOT MERGE - Skip pi-platform-release (PPRL.190205.001) into stage-aosp-master

Bug: 124234733
Change-Id: I5f6bd6a42230b0c9e54dc6221cfa12f366585e40

5 years agoSnap for 5180536 from 2ab3b948d787852b2b34c4c7fe623c35ae214ae3 to pi-platform-release
android-build-team Robot [Sat, 9 Feb 2019 02:36:27 +0000 (02:36 +0000)]
Snap for 5180536 from 2ab3b948d787852b2b34c4c7fe623c35ae214ae3 to pi-platform-release

Change-Id: Idc5557adef8d2cbc60a594ab3ea1aa3669140926

5 years agoMerge "Support header versioning in dm-bow" am: 96336c716b
Paul Lawrence [Fri, 8 Feb 2019 22:03:33 +0000 (14:03 -0800)]
Merge "Support header versioning in dm-bow" am: 96336c716b
am: 06181f3605

Change-Id: Ifc24e161ccf3564bf94c695053d51cbb600dd963

5 years agoMerge "Support header versioning in dm-bow"
Paul Lawrence [Fri, 8 Feb 2019 22:00:32 +0000 (14:00 -0800)]
Merge "Support header versioning in dm-bow"
am: 96336c716b

Change-Id: I8d71b57c51e2290c2633b286ea91a54a3ea0d582

5 years agoMerge "Support header versioning in dm-bow"
Treehugger Robot [Fri, 8 Feb 2019 21:55:29 +0000 (21:55 +0000)]
Merge "Support header versioning in dm-bow"

5 years agoMerge "Suport variable blocksizes in dm-bow restore" am: 73c0028901
Paul Lawrence [Fri, 8 Feb 2019 21:32:47 +0000 (13:32 -0800)]
Merge "Suport variable blocksizes in dm-bow restore" am: 73c0028901
am: fdac3684c4

Change-Id: Id4c4aae860bc819d240864f3d60edf03a1c5e255

5 years agoMerge "Suport variable blocksizes in dm-bow restore"
Paul Lawrence [Fri, 8 Feb 2019 21:27:49 +0000 (13:27 -0800)]
Merge "Suport variable blocksizes in dm-bow restore"
am: 73c0028901

Change-Id: I42cf7db1bca5905e93546b1df78b8439c22ef198