No description
Find a file
David Anderson 943dd5cff5 libsnapshot: Get DaemonTransition test passing again.
This fixes a number of small bugs in libsnapshot. It also refactors the
handler list a bit. Previously, it was a list of unique_ptrs. Now it is
a list of shared_ptrs to simplify ownership.

Additionally, Snapuserd is now keyed solely on the misc device name.
This allows two identical snapshots to run in the same daemon, with
different control names (a scenario that comes up in the
DaemonTransition test). As part of this change, the two-stage
initialization process has been refactored slightly. The "init" message
sets all the device paths, and the "start" message needs only the misc
name.

Both the init and start messages now validate that no duplicate handlers
exist, and that we're not overwriting any previous thread.

This cleanup also fixes a bug in DmUserHandler cleanup - if a control
device shut down raced with WaitForDelete(), the std::thread object
would delete without a call to detach() or join(). In the new
RemoveHandler(), we now correctly detach() in this scenario.

This also fixes a bug where, if a COW had no partition component (it
only resided on /data), the second-stage transition would fail because
it used the wrong device-mapper name.

Bug: N/A
Test: vts_libsnapshot_test
Change-Id: Ib4a281a3b5fe665c727c7077672e3c6b0b3abdba
2020-11-12 20:41:25 -08:00
bootstat Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709) 2020-08-29 01:42:13 -07:00
cli-test cli-test: support checking exit status. 2020-09-25 16:43:35 -07:00
code_coverage extend syscall minijail for clang code coverage 2020-07-13 13:39:05 -07:00
cpio Remove EXCLUDE_FS_CONFIG_STRUCTURES 2020-03-04 15:34:09 -08:00
debuggerd Merge "Fix the expected tagged_addr_ctrl in a test." 2020-11-03 03:12:02 +00:00
deprecated-adf remove deprecated bp 'subdirs' 2020-01-14 12:18:40 -08:00
diagnose_usb Make the udev vs plugdev distinction a bit clearer. 2020-07-31 15:09:35 -07:00
fastboot fastboot: add casefold/projid/compress options 2020-11-09 10:04:30 -08:00
fs_mgr libsnapshot: Get DaemonTransition test passing again. 2020-11-12 20:41:25 -08:00
gatekeeperd Add @SensitiveData to GateKeeperService 2020-11-04 13:51:04 -08:00
healthd Merge "health: Add CAP_BLOCK_SUSPEND" 2020-10-15 20:24:17 +00:00
include Remove include/backtrace symlink. 2020-10-20 12:46:14 -07:00
init Merge "first_stage_init: run first_stage.sh regardless of console presence" 2020-11-06 21:33:03 +00:00
janitors Add the two best build system janitors. 2019-03-25 10:25:13 -07:00
libappfuse Fix Deadlock Issue On AppFuseBridge 2020-06-17 13:39:21 +01:00
libasyncio Revert "Revert "Set apex_available property"" 2020-03-26 00:23:56 +00:00
libbinderwrapper Make libbinderwrapper available in /vendor partition 2018-04-06 08:41:21 +09:00
libcrypto_utils libcrypto_utils: switch to C++. 2020-08-21 10:34:56 -07:00
libcutils libcutils: make vendor_ramdisk_available. 2020-10-28 10:57:51 -07:00
libdiskconfig Rename target.linux[_x86[_64]] to target.linux_glibc[_x86[_64]] 2017-10-02 10:44:29 -07:00
libgrallocusage gralloc: Set min_sdk_version 2020-04-23 23:50:08 +09:00
libkeyutils Update language to comply with Android's inclusive language guidance 2020-07-31 16:36:06 -06:00
libmodprobe libmodprobe: Fail when modules.dep lacks colon 2020-10-19 12:00:08 +01:00
libnetutils Add a libipchecksum that contains the C IP checksum code. 2020-07-09 16:35:47 +09:00
libpackagelistparser Make libraries {vendor_,}ramdisk_available. 2020-10-28 10:57:51 -07:00
libprocessgroup Merge "libprocessgroup: Support write to file feature" 2020-11-04 04:54:42 +00:00
libqtaguid Redirect qtaguid native call to netd fwmark client 2017-11-09 18:02:22 -08:00
libsparse Make libsparse vendor_available 2020-09-03 08:43:46 -07:00
libstats Use libcutils_headers for android_filesystem_config.h 2020-09-18 22:48:42 +00:00
libsuspend Remove libsuspend from VNDK. 2018-08-14 13:39:55 -07:00
libsync Make the connection between implementation and llndk_library explicit 2020-10-19 13:38:05 -07:00
libsystem libcutils: make vendor_ramdisk_available. 2020-10-28 10:57:51 -07:00
libsysutils SocketClient: don't ignore SIGPIPE 2020-07-31 15:53:18 -07:00
libusbhost Prevent infinite loop on zero length USB descriptors 2020-02-21 11:11:02 -08:00
libutils Merge "libutils: add unit tests for invalid utf-8 and utf-16 strings" 2020-11-12 16:05:38 +00:00
libvndksupport Make the connection between implementation and llndk_library explicit 2020-10-19 13:38:05 -07:00
llkd llkd: Use more inclusive language 2020-06-19 06:51:59 -07:00
property_service libpropertyinfoparser: make vendor_ramdisk_available. 2020-10-28 10:57:51 -07:00
qemu_pipe Use more inclusive language for #inclusivefixit 2020-07-28 00:22:59 +00:00
reboot adb: replace reboot service with exec of /system/bin/reboot. 2019-10-23 14:33:36 -07:00
rootdir Merge "Create a pool of 20 measurement files per library for coverage." 2020-11-12 19:57:36 +00:00
run-as Use libcutils_headers for android_filesystem_config.h 2020-09-18 22:48:42 +00:00
sdcard Move layout_version to /data/misc/installd 2019-08-21 10:12:18 -07:00
set-verity-state set-verity-state: Link to libfs_mgr_binder. 2019-12-30 13:42:57 -08:00
shell_and_utilities Add shell_and_utilities_vendor_ramdisk 2020-10-28 10:57:51 -07:00
storaged storaged: ignore SIGPIPE 2020-03-17 09:31:01 -07:00
toolbox Merge "toolbox: make all janitors the owners." am: 5f33339b2f am: 459b5d6350 2020-07-13 18:10:13 +00:00
trusty trusty: fuzz: dump trusty kernel logs on crash 2020-11-02 10:16:44 -08:00
usbd Remove libhwbinder/libhidltransport deps 2019-09-05 14:17:42 -07:00
watchdogd Move watchdogd out of init 2018-08-02 12:25:58 -07:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
.clang-format-2 Move clang-formats to build. 2019-01-18 14:26:33 -08:00
.clang-format-4 Move clang-formats to build. 2019-01-18 14:26:33 -08:00
.gitignore
CleanSpec.mk snapshotctl don't auto-merge. 2020-03-03 13:19:49 -08:00
METADATA Add METADATA to system/core: Apache2+BSD=NOTICE 2020-04-29 13:16:41 -07:00
MODULE_LICENSE_APACHE2
NOTICE
OWNERS Remove baligh@ from owners. CodeShuffle done. 2020-10-17 00:28:10 +00:00
PREUPLOAD.cfg Add AOSP preupload hook. 2020-04-23 11:02:00 -07:00
TEST_MAPPING Move CtsLiblogTestCases and CtsLogdTestCases to system/logging/TEST_MAPPING 2020-11-02 12:44:37 -08:00