Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/PitchBlackRecoveryProject/android_system_vold


https://github.com/PitchBlackRecoveryProject/android_system_vold

Add vdc checkpoint supportsBlockCheckpoint

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

c5c79c56797db4f5b10a3aee78d2c030aa308fc5 authored almost 6 years ago
Shell no longer globs, so glob in pushBackContents

Bug: 113246065
Bug: 123057215

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

51209e9e40f9b2095cb68c15305948b5ee7616ea authored almost 6 years ago
Merge "Fsync directories before delete key" am: 7573874d3f am: 3a38070bbf

am: 08613423ee

Change-Id: I6007af911ba3fcafad590d33deea25a5c55b03c3

a475189b32f62b3508327328b7ba724faf4d5eb9 authored almost 6 years ago
Merge "Fsync directories before delete key" am: 7573874d3f

am: 3a38070bbf

Change-Id: I568a6e8a39929b77ba76b021657e248a4e49e470

08613423ee9aa55088a96c50c964fc16d2dc24d9 authored almost 6 years ago
Merge "Fsync directories before delete key"

am: 7573874d3f

Change-Id: I568638b5de3c58d868024f959f890094eb1bd501

3a38070bbfd16875b4f767297becc43dde198913 authored almost 6 years ago
Fsync directories before delete key

The boot failure symptom is reproduced on Walleye devices. System boots
up after taking OTA and ...

a598e04a91c64741f9f71c6511a7ced7f71d194e authored almost 6 years ago
Fsync directories after creating files

Bug: 112145641
Bug: 124279741
Bug: 120248692
Test: adb shell locksettings set-pin 1111 && \
...

2e58acb4123e559fddfd4013af3ead6c055bd71c authored almost 6 years ago
Merge "Fsync directories before delete key"

7573874d3fb9ec9d4aaeb013447ee51c23c9b7da authored almost 6 years ago
Fsync directories before delete key

The boot failure symptom is reproduced on Walleye devices. System boots
up after taking OTA and ...

37c82f5c0f7599ef526f3c9d7521c80edf0bc133 authored almost 6 years ago
[automerger skipped] Merge "DO NOT MERGE - Skip PPRL.190305.001 into master" am: 027fe9217c -s ours am: e1d82ea744 -s ours

am: 1c4f1e80e0 -s ours
am skip reason: subject contains skip directive

Change-Id: I8a1dd28839de2...

8924680dfb023a3cbb8a030d0aef498845885cf0 authored almost 6 years ago
[automerger skipped] DO NOT MERGE - Skip PPRL.190305.001 into master am: 37c6ce4fb0 -s ours am: 1a158c67a0 -s ours

am: 9c5a36769b -s ours
am skip reason: subject contains skip directive

Change-Id: I4106b7617a6cb...

b9bda094adaa080f899efa3f7786e97ab74ce6b4 authored almost 6 years ago
[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: Ia2810aced1e11...

1c4f1e80e0a2fd5807b17ebdde217ecc4c261bd2 authored almost 6 years ago
[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: I853be075f650f...

9c5a36769b81b283ff650cb51b302b9ecc4c9752 authored almost 6 years ago
[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: I2dc06015f2c87...

e1d82ea744cb3d26d045472fc5922591bd700317 authored almost 6 years ago
[automerger skipped] DO NOT MERGE - Skip PPRL.190305.001 into master

am: 37c6ce4fb0 -s ours
am skip reason: subject contains skip directive

Change-Id: I6fa5c1108107e...

1a158c67a05a6b7b965503598a3d39f1b3a4e63f authored almost 6 years ago
Merge "DO NOT MERGE - Skip PPRL.190305.001 into master"

027fe9217c40f4cc641bd2413d139dc082f4a001 authored almost 6 years ago
DO NOT MERGE - Skip PPRL.190305.001 into master

Bug: 127812889
Change-Id: I5bff7948e2fc254d0595329bd7a7262586de0c32

37c6ce4fb0e73b273451792b9a25aa798d883497 authored almost 6 years ago
Merge "Don't unmount /storage for early native processes" am: ee9554b2d9 am: b5acb5bfba

am: f1baff6ddd

Change-Id: I7107dd9d24dd07f9c17ea11d24db17db2cd10f12

4b64463572e44df008911fb53156383efe4adb36 authored almost 6 years ago
Merge "Don't unmount /storage for early native processes" am: ee9554b2d9

am: b5acb5bfba

Change-Id: I2c3b48550a64486214835fbcfa1879cc2cbddb2b

f1baff6ddd223c549cbe8dadaf481f1314595abc authored almost 6 years ago
Merge "Don't unmount /storage for early native processes"

am: ee9554b2d9

Change-Id: I985413323a86816b392bd00211c550aef93328ae

b5acb5bfba258aad34890ba954dd2d60969ccd2c authored almost 6 years ago
Merge "Don't unmount /storage for early native processes"

ee9554b2d9c238c81f9107735b047ecd7dd9ffa7 authored almost 6 years ago
Merge changes I91cf0def,I47570e8e am: 5f01cf3cac am: 84ceaedb59

am: 738694469d

Change-Id: I3df9cd0523d2bfcdc716c855c8dca86aba09be9d

dfe9605bf4d29b8fd6d6a334f9f759f62b70d6fe authored almost 6 years ago
Merge changes I91cf0def,I47570e8e am: 5f01cf3cac

am: 84ceaedb59

Change-Id: Ibc16fa468ce9f3253bc133d2cc52c966c8eac96d

738694469d6232330618eb44761984f1ace206ae authored almost 6 years ago
Merge changes I91cf0def,I47570e8e

am: 5f01cf3cac

Change-Id: If269c0d3134dc98683982a96224885503b2f8434

84ceaedb59400490a037604d7f30b5b94938afc6 authored almost 6 years ago
Merge changes I91cf0def,I47570e8e

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

5f01cf3cac789275e205b1ac533f9b386501f322 authored almost 6 years ago
Make Checkpoint restore resume safe

This allows us to resume rolling back in the event of an unexpected
shutdown during the restore ...

5298593b1baa45e496ce4b419782fb9c1d5baed7 authored almost 6 years ago
Add vdc checkpoint restoreCheckpointPart

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

dda598103d84276d14aa73951857aa5c43185e3e authored almost 6 years ago
Merge "Switch Checkpoint Restore code to c style File ops" am: bc1901f8af am: 73cfd4918b

am: 1467b739da

Change-Id: Ib5513522c9819215e42f8960c9e6d2231d0cf40c

cf9eb9b944ca2c223978e8ac87df492d1863a626 authored almost 6 years ago
Merge "Switch Checkpoint Restore code to c style File ops" am: bc1901f8af

am: 73cfd4918b

Change-Id: I2df8869defe16ba3886f999dc993ab802b77086e

1467b739dabd683c6241574099760aa2bf953aef authored almost 6 years ago
Merge "Switch Checkpoint Restore code to c style File ops"

am: bc1901f8af

Change-Id: I52f3551d5a86d7e2edbb116bec98e8d2a11535df

73cfd4918b475415d825ebfe644698d3cdc4f7c9 authored almost 6 years ago
Merge "Switch Checkpoint Restore code to c style File ops"

bc1901f8af4ab492d3d34ebdd95be854c0f9b09b authored almost 6 years ago
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 ope...

8271ae986edacd6ed5cab1e23766734c4d615a80 authored almost 6 years ago
Pass unshared_obb flag to sdcardfs setup.

Bug: 110960295
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/cts/ExternalSto...

8cad97b48f649fda9fa27fc4d361d5b9fd2c550f authored almost 6 years ago
Don't unmount /storage for early native processes

Motivation:

Early processes launched before the runtime APEX - that hosts the bionic
libs - is ...

8d21c924d705266e5a8ec17c8c66e58a7ff63433 authored almost 6 years ago
Merge "Make restore validation fast by using a map" am: decda14f02 am: 2962054d72

am: ca4d5af279

Change-Id: Ie92d406374ec1c335ecc12e32630772b7da73d62

9bdf002f70a26eb7b593f518db5159abeb57ac34 authored almost 6 years ago
Merge "Make restore validation fast by using a map" am: decda14f02

am: 2962054d72

Change-Id: I53a27dfb9a212646d27ff01960a49f040391d15b

ca4d5af279ccf052537d9d155736b4de7a024dc8 authored almost 6 years ago
Merge "Make restore validation fast by using a map"

am: decda14f02

Change-Id: I92c5bdf046ac7e6b2211021698990592fe5f3895

2962054d725f74cd13beade0cb33858ee8f36392 authored almost 6 years ago
Merge "Make restore validation fast by using a map"

decda14f024576acba0035cce76f8da3d660d275 authored almost 6 years ago
Ignore packages whose sandboxes are already created.

Bug: 124788246
Test: manual
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/ct...

23d725d85af69e0df64a9953db806986ad0f7cac authored almost 6 years ago
Make restore validation fast by using a map

Test: Successfully restores device over reboots
Change-Id: I4f1c5bbe6c07697a925a1a4efb92aefd15b6...

d41a939d51a2467860d7f3f66c0d6e3e7a9e4b49 authored almost 6 years ago
Merge "Look for visible vols for a user under /mnt/user/<userId>/package/."

a9ca319cc3dc47fadcfa1ddc225471d9da023fa2 authored almost 6 years ago
Merge "Ignore if the dir we are trying remove doesn't exist."

cdd5a2feb7066718fa284014f5f86e71532369ef authored almost 6 years ago
Ignore if the dir we are trying remove doesn't exist.

Fixes: 126208830
Test: manual
Change-Id: I34788ebb2dd42e62ee3061f7d81dc03047048c3b

8255a2b0bb5a04e5ef361aad77531d77d996403b authored almost 6 years ago
Merge stage-aosp-master into pi-dev-plus-aosp

am: fc1ec3c66e

Change-Id: I229b0f5c1c473ae16867896dd8a722fef9b53a6c

db18995da8c2077f149dbfdd51bbd502816b5cd0 authored almost 6 years ago
Merge stage-aosp-master into pi-dev-plus-aosp

Bug: 126125118
Change-Id: I9fc676dc36e9d71e959b635fc1f87acfaa30c7a6

fc1ec3c66e514ddc6808a6a0358d4818d7981bc5 authored almost 6 years ago
Look for visible vols for a user under /mnt/user/<userId>/package/.

Currently, we pass down visisble volumes for a user to zygote so that
it can set up appropriate ...

83680408415595dbda9f1126b1f38beef29bf200 authored almost 6 years ago
Don't delete /mnt/user/<userId>/package on reset.

We need this to stay mounted at /storage.

Bug: 124466384
Test: manual
Test: atest cts/hostsidet...

30df1c61d954273ca437e0f8a1b6fd22d6d796a8 authored almost 6 years ago
Avoid creating /mnt/user/<userId>/package/<packageName> for all pkgs.

Bug: 124466384
Test: manual
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/ct...

727c5fad41c4153f3dd60867b23c9637f6ac91e4 authored almost 6 years ago
DO NOT MERGE - Merge pi-dev@5234907 into stage-aosp-master

Bug: 120848293
Change-Id: Ia3e46d3c5ca83da01e78e076d2810620812f5115

464294d159355bc1d65df0f46d9032699d2dbdad authored almost 6 years ago
Merge "Do not trim unless we are actually checkpointing" am: 2268c285a5 am: 9de5e3c028

am: 2b108efef1

Change-Id: I7ef6807671da4a1f34a90a5c5c14d3acca814d57

af607fa9965e50383cbd7a30ff8d9c828032c45d authored almost 6 years ago
Merge "Do not trim unless we are actually checkpointing" am: 2268c285a5

am: 9de5e3c028

Change-Id: I6f3edfe3c3e98f03793bc3e598caff8d677422bc

2b108efef1f6cd6137f69db051db5aa2955b7e5c authored almost 6 years ago
Merge "Do not trim unless we are actually checkpointing"

am: 2268c285a5

Change-Id: I031a25204269ea7d3d65349a3f281a3f1e07eadd

9de5e3c02845cb209441b8fdab279f95f6e8cbdd authored almost 6 years ago
Merge "Do not trim unless we are actually checkpointing"

2268c285a522b91bf84697baf4e4b81c743ec33a authored almost 6 years ago
Ignore EEXIST errors when creating pkg specific dirs.

Some of the pkg specific dirs could be created by zygote
and vold in parallel, so ignore any EEX...

6d285cec244a15350fe3761c212300a1f6c63ac6 authored almost 6 years ago
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: 124...

db08694bb1d881f36b6c05fbaa81595ebf4b3921 authored almost 6 years ago
Merge "Revert "Revert "Ensure necessary external storage dirs while creating sandboxes."""

bb517accbf97c5350ef695f2432f59646b87f916 authored almost 6 years ago
[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: dd4cd4a721 -s ours
am skip reason: subject contains skip directive

Change-Id: I11b818628b916...

a7459ce2ca0d620987a99bec0b3ad163cb9a8534 authored almost 6 years ago
[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: Ic08bbe29aa3bb...

dd4cd4a72143a01fe6a7919c54a5afb74973671e authored almost 6 years ago
Merge "DO NOT MERGE - Skip pi-platform-release (PPRL.190205.001) into stage-aosp-master" into stage-aosp-master

c3df2486854d3931a100794cf9cebda7f21d609c authored almost 6 years ago
Merge "Enable metadata encryption for userdata_gsi." am: 99046b75c4 am: 8b90acafcd

am: 1f4307e51e

Change-Id: If3e65d967a99e3f757a1ab978067e61a3faeae66

42aabc24dce05e3519a56a7987c30af04b4a50c3 authored almost 6 years ago
Merge "Enable metadata encryption for userdata_gsi." am: 99046b75c4

am: 8b90acafcd

Change-Id: I1a8bde686283af1f467edaeb5c735f6ed1721234

1f4307e51e3df5ce9d5e37dbad236f68c05023cc authored almost 6 years ago
Merge "Enable metadata encryption for userdata_gsi."

am: 99046b75c4

Change-Id: I90d530403f635427c7695e6a106526b51a7fc146

8b90acafcd2642ebd4989042ca57e4ca8364fc8b authored almost 6 years ago
Merge "Enable metadata encryption for userdata_gsi."

99046b75c42effdd6f2d8c2dda85e301a3c5615c authored almost 6 years ago
Revert "Revert "Ensure necessary external storage dirs while creating sandboxes.""

This reverts commit 88114b2a563d5bbbc68a16566e223797f4136227.

Reason for revert: blocking issue...

f9b38a58e163aac364fc0685c063211facb79787 authored almost 6 years ago
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 der...

0d71c4b5f723967bd41df19ed79b3b4f0702f786 authored almost 6 years ago
Revert "Ensure necessary external storage dirs while creating sandboxes."

This reverts commit 083377e593429a6db7d64de69dcc9d7209f0f66d.

Reason for revert: b/124345887

C...

88114b2a563d5bbbc68a16566e223797f4136227 authored almost 6 years ago
Ensure necessary external storage dirs while creating sandboxes.

Bug: 124058579
Test: manual
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/ct...

083377e593429a6db7d64de69dcc9d7209f0f66d authored about 6 years ago
DO NOT MERGE - Skip pi-platform-release (PPRL.190205.001) into stage-aosp-master

Bug: 124234733
Change-Id: I5f6bd6a42230b0c9e54dc6221cfa12f366585e40

29633ddd06a12dae6b12c64e15fd5f11e012cef1 authored about 6 years ago
Enable isolated storage by default.

We've been dogfooding the isolated storage feature for many months
on various internal groups, a...

a6082500e405363d56234ff5198b1806850e1c86 authored about 6 years ago
Snap for 5180536 from 2ab3b948d787852b2b34c4c7fe623c35ae214ae3 to pi-platform-release

Change-Id: Idc5557adef8d2cbc60a594ab3ea1aa3669140926

c03435f532753b8bd6816d4500ffeb3dcb167a57 authored about 6 years ago
Merge "Support header versioning in dm-bow" am: 96336c716b am: 06181f3605

am: 96bdc38fb7

Change-Id: I76f8e0b5d231f1ca103efcefc1800dabdddc5fa0

82c4b689620bebbef1c69784c551f39192fa3caf authored about 6 years ago
Merge "Support header versioning in dm-bow" am: 96336c716b

am: 06181f3605

Change-Id: Ifc24e161ccf3564bf94c695053d51cbb600dd963

96bdc38fb7df7bad06c758b1d2b8c1c2b4e671e8 authored about 6 years ago
Merge "Support header versioning in dm-bow"

am: 96336c716b

Change-Id: I8d71b57c51e2290c2633b286ea91a54a3ea0d582

06181f3605763f20f154b26e2af88d927f2b1c6d authored about 6 years ago
Merge "Support header versioning in dm-bow"

96336c716b713d0132094385826a54b17b232aa1 authored about 6 years ago
Merge "Suport variable blocksizes in dm-bow restore" am: 73c0028901 am: fdac3684c4

am: fd742dbf30

Change-Id: I63742c9f263735b549b25aaae372d34ec82c8a18

4ef6959e9a15011054ba7b2bde2e7f7e5d13448f authored about 6 years ago
Merge "Suport variable blocksizes in dm-bow restore" am: 73c0028901

am: fdac3684c4

Change-Id: Id4c4aae860bc819d240864f3d60edf03a1c5e255

fd742dbf309fa4a0dbb08759ee40a782b1098ecd authored about 6 years ago
Merge "Suport variable blocksizes in dm-bow restore"

am: 73c0028901

Change-Id: I42cf7db1bca5905e93546b1df78b8439c22ef198

fdac3684c4f2a1518ca563b3123f0ac9551aeae2 authored about 6 years ago
Merge "Suport variable blocksizes in dm-bow restore"

73c0028901b9f4457d0dbe8dd0d3d6f3f6dcfef7 authored about 6 years ago
Suport variable blocksizes in dm-bow restore

Test: Test that restore still works
Change-Id: I7259e3efd1cd0ee13c74336a7e53158b6bceed57

4f13a90a58a8022d743aba602a28dad705181070 authored about 6 years ago
Support header versioning in dm-bow

Test: Make sure still boots, restores
Change-Id: I903f58cb22472dbbbbb4c27ed1d88ed1f7c7dc5d

f507768981f8602ab0edf441de5389eb3aedf48d authored about 6 years ago
Merge "Mark A/B Boot success before committing checkpoint" am: d6bbe746d7 am: 294a252092

am: f3d55f4e0c

Change-Id: I545b0fb45d3ed1bde6fa4002c37675cce6a6a37d

2010fb6260a1b1907bfe6308856cc99993ec173f authored about 6 years ago
Merge "Mark A/B Boot success before committing checkpoint" am: d6bbe746d7

am: 294a252092

Change-Id: I8887afd2726724d6c9b9da0fa7595bde741fb748

f3d55f4e0c8c6f981e9da4ad427295fc131f4007 authored about 6 years ago
Merge "Mark A/B Boot success before committing checkpoint"

am: d6bbe746d7

Change-Id: I2876835681d42bade620081d508a7490d664c8aa

294a252092afc7b2791e5415ed15ce1576959b2e authored about 6 years ago
Merge "Mark A/B Boot success before committing checkpoint"

d6bbe746d712331a8edd9fa3470f54c52a5daaf6 authored about 6 years ago
Remove sandbox specific bind mounts from root namespace.

Update vold to only create package sandboxes and not do any bind mounts.
After zygote forks, all...

023b5391f9778b11c151e81614ce1a3321313129 authored about 6 years ago
Merge "Fix search for values in blkId output" am: 0fbc5af676 am: 56715503b5

am: 464ff37019

Change-Id: I5d47ddedc29cafa05424e6bfcfd6b99885614d7c

4928819dd55b9b6b78f5e3f2fd286edfb4cb25d2 authored about 6 years ago
Merge "Fix search for values in blkId output" am: 0fbc5af676

am: 56715503b5

Change-Id: I9b24f0bd748a38ca29e2b258a54cd2b9bdcb7cc3

464ff37019372a381e91c615d95fcb88b993f6b3 authored about 6 years ago
Merge "Fix search for values in blkId output"

am: 0fbc5af676

Change-Id: Ica4be0ea315c0aa6a2d6289139a88a8fa944deac

56715503b5ee98273081c7e3a5b16299723f8530 authored about 6 years ago
Merge "Fix search for values in blkId output"

0fbc5af676804cc304b1258119f92c11a1ab1d44 authored about 6 years ago
Fix search for values in blkId output

Bug: 122497152
Test: atest tests/Utils_test.cpp
Test: adb shell sm partition disk:7,32 private ;...

95abfa0cfd8efd52321be5a4a5fe5bd7554ed029 authored about 6 years ago
Mark A/B Boot success before committing checkpoint

This marks the slot as successful within commitChanges, increasing the
available roll back windo...

886915bb6f55fe386f02f39905634c5a520c158c authored about 6 years ago
Merge "Use global default_fstab instead of re-reading" am: 64f5e5bb38 am: fd5d1b173c

am: 8442c10304

Change-Id: I218e252ff21f51cb87bbd1bddc9a0c1048072476

c06a6f3eb4ffb54df41dbd2056c81f890a8c56f3 authored about 6 years ago
Merge "Use global default_fstab instead of re-reading" am: 64f5e5bb38

am: fd5d1b173c

Change-Id: I7ec6ba24f23b3ab62317802422eb2b01e616bce1

8442c10304fbbaa5d02baf1a484c87e743a661a6 authored about 6 years ago
Merge "Use global default_fstab instead of re-reading"

am: 64f5e5bb38

Change-Id: Ief94647963db3c48f1aeb89e7d8ccd5f7cb63da7

fd5d1b173c9be46f4d36016d1a144c8bd969f4eb authored about 6 years ago
Merge "Use global default_fstab instead of re-reading"

64f5e5bb38e52b108e707a9926702de2ffed34f5 authored about 6 years ago
Use global default_fstab instead of re-reading

VoldUtils already has a pre-parsed fstab. Use it instead.

Test: Checkpoint functions continue t...

253b44ea6d0c0b4a955552fc6d28196bd82256e9 authored about 6 years ago
Merge "Move over to the C++ Fstab class" am: b6d5cd20d7 am: 4e8e70a949

am: f61f61a6a0

Change-Id: I90f0f0e1161463cef8542a586b53274ec5a2f5ee

146441058003e7d7b3cb07b54f63df05a1e75c88 authored about 6 years ago
Merge "Move over to the C++ Fstab class" am: b6d5cd20d7

am: 4e8e70a949

Change-Id: I08d7937f718739f6444780cbd0cc72634dba841c

f61f61a6a02095081c80f31b1608745f8563aeb8 authored about 6 years ago
Merge "Move over to the C++ Fstab class"

am: b6d5cd20d7

Change-Id: Ia9c8b38cb014f30f0ca609bd71cfe1b0de9c27d3

4e8e70a949c9ff14459b7c112b85045f1e145fb9 authored about 6 years ago
Merge "Move over to the C++ Fstab class"

b6d5cd20d7911be03b2d86f47c0579e20f2d9dec authored about 6 years ago