Commit Graph

5634 Commits

Author SHA1 Message Date
android-build-team Robot 9475d96da1 Snap for 4459973 from 0a0b6a9fe1 to pi-release
Change-Id: I21d065629a3f9cc1b244da88cc133712ec7ce718
2017-11-19 08:21:48 +00:00
Tianjie Xu 0a0b6a9fe1 Merge "Add libbrotli as a dependency when building applypatch binary" am: c7069cc922 am: 086202e30d
am: 2a8e4095cb

Change-Id: I40e952051126d2df4530a11c4aee434142a55736
2017-11-17 16:18:17 +00:00
Tianjie Xu 2a8e4095cb Merge "Add libbrotli as a dependency when building applypatch binary" am: c7069cc922
am: 086202e30d

Change-Id: I7d6725aec1f22e006b1945c0068c61352785c509
2017-11-17 16:15:43 +00:00
Tianjie Xu 086202e30d Merge "Add libbrotli as a dependency when building applypatch binary"
am: c7069cc922

Change-Id: I3379f84048c1b4c4858da537d045a1012c358b8b
2017-11-17 16:13:13 +00:00
Tianjie Xu c7069cc922 Merge "Add libbrotli as a dependency when building applypatch binary" 2017-11-17 16:09:08 +00:00
Tianjie Xu bb436b397a Merge "Switch imgdiff to libbase logging" am: fd9c25e636 am: 47c8c290ec
am: 365c98fd1d

Change-Id: I88eca49e6004615f9398c42b6dfc79f8dc53085c
2017-11-17 06:00:12 +00:00
Tianjie Xu 365c98fd1d Merge "Switch imgdiff to libbase logging" am: fd9c25e636
am: 47c8c290ec

Change-Id: I8712d65b019e294104bcbc8497a05fa6cc49024a
2017-11-17 05:58:10 +00:00
Tianjie Xu 47c8c290ec Merge "Switch imgdiff to libbase logging"
am: fd9c25e636

Change-Id: Iaf36238df9567f9e0e08abec2581e55d4692068b
2017-11-17 05:56:10 +00:00
Tianjie Xu fd9c25e636 Merge "Switch imgdiff to libbase logging" 2017-11-17 05:53:58 +00:00
android-build-team Robot 8e4dc2a04c Snap for 4455093 from 8e376e01e7 to pi-release
Change-Id: I13180d402b826b71eb3e7ec42836e48f12f9de7c
2017-11-16 08:23:54 +00:00
Tianjie Xu 6e293c99c1 Switch imgdiff to libbase logging
Also add a verbose option. And we won't print messages of 'info'
severity unless '-v' is present.

Test: run imgdiff and check the logs.
Change-Id: I1b90874baea8e72e2a2323a0b63bc5d35e653e6b
2017-11-15 22:35:39 -08:00
Tao Bao 8e376e01e7 Merge "minadbd: Remove two warning options." am: 7bd61f0cc0 am: 345f350540
am: 97a4750098

Change-Id: I5b8199d02212b0b2283e647effa3b1829704e27c
2017-11-15 23:07:38 +00:00
Tao Bao 97a4750098 Merge "minadbd: Remove two warning options." am: 7bd61f0cc0
am: 345f350540

Change-Id: I95cf7f4af44c8abc2ced807e0a3a2fb063448fc1
2017-11-15 23:06:11 +00:00
Tao Bao 345f350540 Merge "minadbd: Remove two warning options."
am: 7bd61f0cc0

Change-Id: Id5e986ecd00cb2b953d761957a987a1b0c5ebf20
2017-11-15 23:04:09 +00:00
Tao Bao 7bd61f0cc0 Merge "minadbd: Remove two warning options." 2017-11-15 22:59:40 +00:00
Tao Bao f87d20404d minadbd: Remove two warning options.
'-Wimplicit-function-declaration' is not needed (it's for C89) and
already enabled by -Wall.

For '-Wno-missing-field-initializers', don't see any existing case that
requires the flag.

Test: `mmma -j bootable/recovery` on aosp_{bullhead,marlin}-userdebug.
Change-Id: I46604723087ed9a7747f6cae31a95fc0074c6758
2017-11-15 11:34:26 -08:00
android-build-team Robot 89de5755aa Snap for 4450504 from 60ee026849 to pi-release
Change-Id: Iee0ada7e7310070bb3b353643ceaced0eb019471
2017-11-14 08:27:34 +00:00
Jaegeuk Kim 60ee026849 Merge "recovery: format f2fs with encrypt/quota" am: d4b6e25fdd am: c418bfeae2
am: e9e7fcf327

Change-Id: I8d2d42d66f4b96ea281b5ca7a3092273a12f7b7b
2017-11-14 03:22:31 +00:00
Jaegeuk Kim e9e7fcf327 Merge "recovery: format f2fs with encrypt/quota" am: d4b6e25fdd
am: c418bfeae2

Change-Id: I2a040a11a71868915658958dbecf4bdd23c25e0c
2017-11-14 03:01:01 +00:00
Jaegeuk Kim c418bfeae2 Merge "recovery: format f2fs with encrypt/quota"
am: d4b6e25fdd

Change-Id: I1d17a488d2eea4d858fa31e7a00d694e20b011b3
2017-11-14 02:45:25 +00:00
Treehugger Robot d4b6e25fdd Merge "recovery: format f2fs with encrypt/quota" 2017-11-14 01:49:26 +00:00
Jaegeuk Kim 1a8bb0f542 recovery: format f2fs with encrypt/quota
Change-Id: Ia393b7b78b45f09964449ec0e255aa26bb3b8ddf
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2017-11-13 14:05:00 -08:00
android-build-team Robot b2a5691d57 Snap for 4447680 from d70f5d924b to pi-release
Change-Id: I378f477fd3a22cf964e0fcd2533d45e6609d73d7
2017-11-12 08:35:54 +00:00
Tao Bao d70f5d924b Merge "applypatch: Change the patch parameter to const Value& in Apply{BSDiff,Image}Patch." am: de07371b03 am: e2296b7a25
am: efcd98da32

Change-Id: I47c49255a65452c4842d5cffd382689a52129dcb
2017-11-11 01:22:35 +00:00
Tao Bao efcd98da32 Merge "applypatch: Change the patch parameter to const Value& in Apply{BSDiff,Image}Patch." am: de07371b03
am: e2296b7a25

Change-Id: I7e1a7bd12c1cc3a03b7947b22a947eee16dacbff
2017-11-11 01:20:04 +00:00
Tao Bao e2296b7a25 Merge "applypatch: Change the patch parameter to const Value& in Apply{BSDiff,Image}Patch."
am: de07371b03

Change-Id: I2261486420f8e55cfbdd61f130be24f6e4deebf4
2017-11-11 01:18:04 +00:00
Tao Bao de07371b03 Merge "applypatch: Change the patch parameter to const Value& in Apply{BSDiff,Image}Patch." 2017-11-11 01:09:47 +00:00
Tao Bao 1e0941f4f6 applypatch: Change the patch parameter to const Value& in Apply{BSDiff,Image}Patch.
It used to be "const Value*", but nullptr won't be a valid input.

Test: recovery_host_test; recovery_component_test
Change-Id: I904b5689ac3e64504088bf0544c9fb5d45a52243
2017-11-10 12:18:34 -08:00
Alex Deymo 2c6b53899d Merge "Include bspatch.h from bsdiff/" am: 29cd3215ec am: e73bca40dc
am: 0347049768

Change-Id: I67d921d4067ae55eed562e5364a5ad80594a6a21
2017-11-10 10:01:05 +00:00
Alex Deymo 0347049768 Merge "Include bspatch.h from bsdiff/" am: 29cd3215ec
am: e73bca40dc

Change-Id: I22144a647f408bcf8a403db07937ce0793e531a4
2017-11-10 09:59:04 +00:00
Alex Deymo e73bca40dc Merge "Include bspatch.h from bsdiff/"
am: 29cd3215ec

Change-Id: Ib53e96bee59300c4f94bf5de1801d4482a5abe3c
2017-11-10 09:57:04 +00:00
Alex Deymo 29cd3215ec Merge "Include bspatch.h from bsdiff/" 2017-11-10 09:54:11 +00:00
Tao Bao 198db195af Merge "uncrypt: Move to Soong." am: 992bccfef4 am: e6250057b8
am: ff0143d09e

Change-Id: I1692679a02c12b81533598a44d87bdcaabdd24ae
2017-11-09 23:50:52 +00:00
Tao Bao ff0143d09e Merge "uncrypt: Move to Soong." am: 992bccfef4
am: e6250057b8

Change-Id: I360688f91c83bf2db3634ebc0f20ea2876980c03
2017-11-09 23:31:50 +00:00
Tao Bao e6250057b8 Merge "uncrypt: Move to Soong."
am: 992bccfef4

Change-Id: If87cf6f7e32eb8089ec72207222eb5ec0b22adac
2017-11-09 23:29:04 +00:00
Tao Bao 992bccfef4 Merge "uncrypt: Move to Soong." 2017-11-09 23:09:33 +00:00
Tao Bao 9715398c4b Merge "Load-balancing update_verifier worker threads." am: f1e70b93f1 am: 1d8cb3659a
am: c5df267599

Change-Id: Ide0e35396eca221bc28b3a95ad35f9f3a380c9ce
2017-11-09 22:00:36 +00:00
Tao Bao c5df267599 Merge "Load-balancing update_verifier worker threads." am: f1e70b93f1
am: 1d8cb3659a

Change-Id: I7e8ae9f60ef37d6948fa4d048b7a4317adc5e20c
2017-11-09 20:49:09 +00:00
Tao Bao 1d8cb3659a Merge "Load-balancing update_verifier worker threads."
am: f1e70b93f1

Change-Id: Ia1224ef69a80ebd247943c2f010bc7cee00e3f69
2017-11-09 20:35:38 +00:00
Tao Bao a2a68a522e uncrypt: Move to Soong.
Test: mmma -j bootable/recovery
Change-Id: I405f2a70f51904c02c49a287c23cbc115a4c5132
2017-11-09 12:34:00 -08:00
Treehugger Robot f1e70b93f1 Merge "Load-balancing update_verifier worker threads." 2017-11-09 20:14:08 +00:00
Tao Bao 160514bf2b Load-balancing update_verifier worker threads.
Prior to this CL, the block verification works were assigned based on
the pattern of the ranges, which could lead to unbalanced workloads. This
CL adds RangeSet::Split() and moves update_verifier over.

a) For the following care_map.txt on walleye:
system
20,0,347,348,540,556,32770,33084,98306,98620,163842,164156,229378,229692,294914,295228,524289,524291,524292,524348,529059
vendor
8,0,120,135,32770,32831,94564,98304,98306

Measured the time costs prior to and with this CL with the following
script.

$ cat test_update_verifier.sh
  #!/bin/sh

  adb shell stop
  adb shell "cp /data/local/tmp/care_map.txt /data/ota_package/"
  for i in $(seq 1 50)
  do
    echo "Iteration: $i"
    adb shell "bootctl set-active-boot-slot 0"
    adb shell "echo 3 > /proc/sys/vm/drop_caches"
    adb shell "time /data/local/tmp/update_verifier"
    sleep 3
  done

Without this CL, the average time cost is 5.66s, while with the CL it's
reduced to 3.2s.

b) For the following care_map.txt, measured the performance on marlin:
system
18,0,271,286,457,8350,32770,33022,98306,98558,163842,164094,196609,204800,229378,229630,294914,295166,501547
vendor
10,0,42,44,85,2408,32770,32806,32807,36902,74242

It takes 12.9s and 5.6s without and with the CL respectively.

Fixes: 68553827
Test: recovery_unit_test
Test: Flash new build and trigger update_verifier. Check the balanced
      block verification.
Change-Id: I5fa4bf09a84e6b9b0975ee5f522724464181333f
2017-11-08 23:04:28 -08:00
Alex Deymo 3afe5f5691 Include bspatch.h from bsdiff/
The function ApplyBSDiffPatch() defined in bspatch.cpp is declared in
applypatch.h, but it includes "bspatch.h" from the bsdiff/ project,
which is at least confusing. There is no "bspatch.h" in this repo, so
the include actually reffers to the one in bsdiff. This patch uses the
"bsdiff/bspatch.h" form instead to avoid confusion.

Bug: None
Test: It builds.

Change-Id: I6b6ffd6725b2b34ff644aed93683f69779103661
2017-11-08 12:29:58 +01:00
android-build-team Robot 7f2fe4bad2 Snap for 4439972 from deca0cb59c to pi-release
Change-Id: I6ac19577895bb950d7d9578655a0b0e354ad2847
2017-11-08 08:29:06 +00:00
Tao Bao deca0cb59c Merge "otautil: Remove the aborts in RangeSet::Parse()." am: 16b8b8fd1c am: 236a7261cb
am: 485d3da2d0

Change-Id: Ia25eb785a2737a9bc53c384789828b5fd2df0935
2017-11-08 02:22:18 +00:00
Tao Bao 485d3da2d0 Merge "otautil: Remove the aborts in RangeSet::Parse()." am: 16b8b8fd1c
am: 236a7261cb

Change-Id: I5b3dec8110e644b9483ae59d47d09fcad21cd717
2017-11-08 02:12:27 +00:00
Tao Bao 236a7261cb Merge "otautil: Remove the aborts in RangeSet::Parse()."
am: 16b8b8fd1c

Change-Id: Ib3b934d2ef5db25786016896868e021d7e087d4d
2017-11-08 02:07:46 +00:00
Tao Bao 16b8b8fd1c Merge "otautil: Remove the aborts in RangeSet::Parse()." 2017-11-08 01:51:17 +00:00
Tao Bao 6798315327 otautil: Remove the aborts in RangeSet::Parse().
We used to CHECK and abort on parsing errors. While it works fine for
the updater use case (because recovery starts updater in a forked
process and collects the process exit code), it's difficult for other
clients to use RangeSet as a library (e.g. update_verifier).

This CL switches the aborts to returning empty RangeSet instead. Callers
need to check the parsing results explicitly.

The CL also separates RangeSet::PushBack() into a function, and moves
SortedRangeSet::Clear() into RangeSet.

Test: recovery_unit_test
Test: Sideload an OTA package with the new updater on angler.
Test: Sideload an OTA package with injected range string errors. The
      updater aborts from the explicit checks.
Change-Id: If2b7f6f41dc93af917a21c7877a83e98dc3fd016
2017-11-07 12:50:02 -08:00
android-build-team Robot 9250c6ed3a Snap for 4437123 from d7d0cc4c08 to pi-release
Change-Id: Icc698b0683ed2d3ee5494faf3e2564d7f2ce2424
2017-11-07 08:22:13 +00:00