No description
Find a file
Tom Cherry 9156c534e0 liblog: simplify logd 'command' functions and struct logger
There are a set of functions, such as android_logger_get_log_size()
and android_logger_get_prune_list() that talk to the logd command
socket to perform their activities.  There's a transport abstraction
layer that handles these symbols to optionally route them to other
transports, originally designed for pstore or local logger; however
these functions fundamentally only make sense for logd.

Ideally, these functions would be removed and new functions would be
added that do not depend on struct logger_list or struct logger and
more clearly indicate that they only work with logd.  For example:

android_logger_get_size(struct logger*) could be
logd_get_buffer_size(log_id_t log_id).  We would remove the need to
'open' the struct logger and make it clear that it only operates on
logd.

Since liblog is an llndk library however, we cannot change or remove
these symbols.  Since these symbols are not frequently used, it seems
acceptable to keep them as is and not introduce improved versions.
We, however, do want to simplify the code that handles them and this
change removes the transport abstraction layer that handles them.
They retain the behavior that unless the struct logger_list was opened
for logd, that the functions return -EINVAL.

The one exception to this is android_logger_clear().  If the struct
logger provided to this function was opened from a struct logger_list
that used pstore for its mode argument, this function will clear the
entire pstore log.  This function does not respect the 'logId'
parameter of the struct logger, since that would not be possible.

This change removes this android_logger_clear() behavior and makes it
strictly for logd, for symmetry with the rest of the functions and due
to the lack of clarity regarding the 'logId' parameter of its input.
The only caller of this function, logcat, will clear pstore directly.

struct logger was built to encapsulate the information needed to
connect to a logger device from the old kernel logger.  Now that we
only support reading from pstore and from logd, there is much less
information needed to be captured.  Specifically, we only need to know
the log_id and whether or not it was opened as part of a pstore or
logd 'list'.

Test: liblog-unit-test
Test: logcat -c/-g/-G/-p/-P/-S work
Test: logcat -c works with -L
Test: logcat -g/-G/-p/-P/-S continue to fail with -L
Change-Id: I2c549b6f8539de94510e223949ab209ecc40e2d0
2019-11-18 07:16:40 -08:00
adb Handle the reboot in the recovery user mode 2019-11-13 14:23:09 -08:00
base libbase: add a README.md covering the most frequent question. 2019-11-06 09:38:21 -08:00
bootstat Simply reboot if the boringssl self test fails 2019-09-19 14:59:07 -07:00
code_coverage configs for jailed procs to dump code coverage data 2019-11-08 08:20:29 -08:00
cpio Switch from dist-for-goals to dist in Android.bp 2018-11-19 23:06:12 -08:00
debuggerd Remove old logger_entry_v* formats 2019-10-24 10:53:14 -07:00
deprecated-adf adf: rename. 2019-02-14 16:30:24 -08:00
diagnose_usb Build adbd for recovery 2018-05-24 14:11:11 +09:00
fastboot fastbootd: exporting CPU ABI info 2019-11-13 17:22:22 +08:00
fs_mgr Merge "Fix build with new googletest" 2019-11-10 04:08:34 +00:00
gatekeeperd Remove libhwbinder/libhidltransport deps 2019-09-05 14:17:42 -07:00
healthd Merge "healthd: Fix incorrect return check" 2019-11-07 21:18:59 +00:00
include Move android_filesystem_config.h => fs_config.h 2017-08-02 16:31:19 -07:00
init init: make triggering shutdown from vendor_init better 2019-11-13 12:41:34 -08:00
janitors Add the two best build system janitors. 2019-03-25 10:25:13 -07:00
libappfuse Close /dev/fuse FD before calling onClosed 2019-05-31 17:06:52 +01:00
libasyncio Revert "Mark libs as double_loadable" 2019-03-11 14:10:34 +00:00
libbacktrace libbacktrace: Fix clang-tidy warning 2019-09-09 18:39:08 +02:00
libbinderwrapper Make libbinderwrapper available in /vendor partition 2018-04-06 08:41:21 +09:00
libcrypto_utils Convert more modules to Android.bp 2018-10-31 21:53:37 -07:00
libcutils Merge "Use PLOG and TEMP_FAILURE_RETRY for uevent socket errors" 2019-11-13 16:50:46 +00:00
libdiskconfig Rename target.linux[_x86[_64]] to target.linux_glibc[_x86[_64]] 2017-10-02 10:44:29 -07:00
libgrallocusage Replace -Weverything with -Wextra 2019-11-08 13:09:00 -08:00
libion Export ion_4.12.h and ion_4.19.h 2019-10-08 21:36:03 -07:00
libkeyutils Refactor mini-keyctl and split a static library 2019-09-26 10:45:38 -07:00
liblog liblog: simplify logd 'command' functions and struct logger 2019-11-18 07:16:40 -08:00
libmeminfo Merge "Add method to get usage stats for a single map." 2019-10-11 18:16:01 +00:00
libmemtrack Remove libhwbinder/libhidltransport deps 2019-09-05 14:17:42 -07:00
libmemunreachable Merge "Add support for scudo native allocator." 2019-09-19 14:42:23 +00:00
libmetricslogger DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master 2018-12-11 14:46:12 -08:00
libmodprobe libmodprobe: add strict bool argument to LoadListedModules 2019-10-31 10:30:35 -07:00
libnetutils better document ifc_{add,del}_address return code 2019-10-17 17:20:25 -07:00
libpackagelistparser Add require_root to adbd_test and libpackagelistparser_test 2019-09-24 09:13:32 -07:00
libpixelflinger Mark gglMulx and gglMulAddx as always_inline 2019-02-14 11:59:48 -08:00
libprocessgroup Add support for freezer cgroup 2019-11-13 20:21:07 +00:00
libprocinfo Add ReadMapFileAsyncSafe function. 2019-08-23 10:07:44 -07:00
libqtaguid Redirect qtaguid native call to netd fwmark client 2017-11-09 18:02:22 -08:00
libsparse libsparse: fix memory leak in output_file_close() 2019-11-12 18:52:29 +08:00
libstats Update OWNERS for libstatssocket 2019-11-01 13:25:31 -07:00
libsuspend Remove libsuspend from VNDK. 2018-08-14 13:39:55 -07:00
libsync Rename # vndk tag to # llndk 2019-11-13 14:32:44 +09:00
libsystem Merge changes I8186718c,I8d6f33e9,I56fe5e11,Ie4004c98,I531d3d60, ... am: b26696e2dd 2019-05-21 02:24:56 -07:00
libsysutils Make the SocketListener control pipe O_CLOEXEC. 2019-05-08 21:02:57 -07:00
libunwindstack Fix build with new googletest 2019-11-10 04:08:25 +00:00
libusbhost Revert "Mark libs as double_loadable" 2019-03-11 14:10:34 +00:00
libutils Trace.h: explicitly use global namespace 2019-11-05 17:59:46 -08:00
libvndksupport Rename # vndk tag to # llndk 2019-11-13 14:32:44 +09:00
libziparchive libziparchive: fix -Wimplicit-int-float-conversion 2019-11-13 13:04:22 -08:00
llkd llkd: do not call sync() 2019-01-10 12:52:35 -08:00
lmkd lmkd: Support process types when registering a process 2019-11-07 18:19:15 +00:00
logcat liblog: simplify logd 'command' functions and struct logger 2019-11-18 07:16:40 -08:00
logd Merge changes from topic "remove-legacy-logger_entry-structs" 2019-10-25 16:53:20 +00:00
logwrapper logwrapper: update benchmark and remove old functions 2019-09-28 07:27:26 -07:00
property_service Remove vendor_availble of propertyinfoserializer 2019-09-23 16:13:45 +09:00
qemu_pipe Build adbd for recovery 2018-05-24 14:11:11 +09:00
reboot adb: replace reboot service with exec of /system/bin/reboot. 2019-10-23 14:33:36 -07:00
rootdir Add support for freezer cgroup 2019-11-13 20:21:07 +00:00
run-as run-as: improve diagnostics on failure. 2019-03-13 11:16:03 -07:00
sdcard Move layout_version to /data/misc/installd 2019-08-21 10:12:18 -07:00
set-verity-state Move enable-verity/disable-verity out of adb to a helper binary. 2019-10-23 14:33:36 -07:00
shell_and_utilities libziparchive: add zipinfo(1). 2019-10-25 10:07:08 -07:00
storaged Remove libhwbinder/libhidltransport deps 2019-09-05 14:17:42 -07:00
toolbox toolbox: add modprobe 2019-08-06 13:58:13 -07:00
trusty Merge "trusty-ut-ctrl: link statically to libtrusty" 2019-10-31 23:03:54 +00: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 Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.bp Export android_filesystem_config.h as a filegroup 2017-01-17 18:20:28 -08:00
CleanSpec.mk Move adbd to an apex. 2019-11-04 15:52:16 -08:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE Fix omission in NOTICE file. 2013-07-30 13:56:55 -07:00
OWNERS Move per-file OWNERS directives to their directories. 2018-06-06 11:49:40 +09:00
PREUPLOAD.cfg Add a PREUPLOAD.cfg file to run git-clang-format on every commit 2017-03-08 16:51:26 +08:00
TEST_MAPPING Add libcutils_test into TEST_MAPPING 2019-11-07 01:04:25 +00:00