Commit Graph

13111 Commits

Author SHA1 Message Date
Elliott Hughes 89cc750e9b Merge "Don't limit Windows USB reads." 2015-07-22 23:48:08 +00:00
Elliott Hughes 61ee830ec9 Don't limit Windows USB reads.
In 3d2904cdf2 we removed the code that broke
Linux USB reads into 4KiB chunks. This patch does the same for Windows. This
improves Windows "adb pull" speeds 6x in my VM. (There was no equivalent
problem with writes, so this change only affects pull speeds.)

Change-Id: If19013e5f51975f4824bf9147b7b76cebd305b96
2015-07-22 15:59:06 -07:00
Elliott Hughes 6b40d0aaa1 Merge "adb: win32: fix exec-in and exec-out to use binary mode" 2015-07-22 22:43:45 +00:00
Elliott Hughes 571c8d713c Merge "Increase size of the the adb packets sent over the wire" 2015-07-22 22:42:05 +00:00
Tamas Berghammer 3d2904cdf2 Increase size of the the adb packets sent over the wire
The reason behing this change is to increase the adb push/pull speed
with reduceing the number of packets sent between the host and the
device because the communication is heavily bound by packet latency.

The change maintains two way compatibility in the communication
protocol with negotiating a packet size between the target and the
host with the CONNECT packets.

After this change the push/pull speeds improved significantly
(measured from Linux-x86_64 with 100MB of data):

           | Old push | Old pull || New push  | New pull  |
-----------------------------------------------------------
Hammerhead | 4.6 MB/s | 3.9 MB/s || 13.1 MB/s | 16.5 MB/s |
-----------------------------------------------------------
Volantis   | 6.0 MB/s | 6.2 MS/s || 25.9 MB/s | 29.0 MB/s |
-----------------------------------------------------------
Fugu       | 6.0 MB/s | 5.1 MB/s || 27.9 MB/s | 33.2 MB/s |
-----------------------------------------------------------

Change-Id: Id9625de31266e43394289e325c7e7e473379c5d8
2015-07-22 13:06:06 -07:00
Elliott Hughes f5b4607962 Merge "init: use init's property expansion code for mount_all" 2015-07-22 17:38:55 +00:00
Nan Liu 12df1e118a init: use init's property expansion code for mount_all
Change-Id: I3bd00c74cd126b66927eca7812943f8427009356
Signed-off-by: Nan Liu <nan.liu619@gmail.com>
2015-07-22 10:36:49 -07:00
Mark Salyzyn 3f1d7ebbc8 Merge "logd: refine is_prio" 2015-07-22 17:04:44 +00:00
Mark Salyzyn 618d0dec50 logd: refine is_prio
- Heuristics associated with translation of kernel messages to
  Android user space logs.
- Limit is_prio to 4 characters, we got false positives on hex
  values like <register contents> with no alpha chars.
- x11 and other register definitions are not valid tags, en0 is
- fix some Android coding standard issues

Change-Id: Idc3dcc53a2cb75ac38628c8ef7a5d5b53f12587a
2015-07-22 07:36:03 -07:00
Elliott Hughes a5d0ca4f16 Merge "Show "(reverse)" in "adb reverse --list"." 2015-07-22 00:25:41 +00:00
Elliott Hughes 34c20bbdff Show "(reverse)" in "adb reverse --list".
Bug: http://b/17788586
Change-Id: I250a1459295ed38e8d962da8bea2a8d2f83c7ef0
2015-07-21 17:09:06 -07:00
Mark Salyzyn 93adb524bc Merge "init: Fix logging stutter" 2015-07-22 00:01:17 +00:00
Mark Salyzyn 6743dab51f Merge "init: Add additional logging levels" 2015-07-22 00:01:10 +00:00
Mark Salyzyn 636b1ebd38 init: Fix logging stutter
- Get rid of log stutter, tag (executable basename) is added by
  the logging routines

Bug: 17914575
Change-Id: If00eb1b915065fb52c9311648b7ada4c9e2696bd
2015-07-21 16:32:20 -07:00
Mark Salyzyn 692abc2b5f init: Add additional logging levels
- Add WARNING, DEBUG and VERBOSE levels

Bug: 17914575
Change-Id: Ia5ba03c164ea38fad4ab30356491741afc987116
2015-07-21 16:32:10 -07:00
Elliott Hughes 2e7c39ecf7 Merge ""adb tcpip" should require a numeric argument." 2015-07-21 23:28:39 +00:00
Elliott Hughes 19d80b878c "adb tcpip" should require a numeric argument.
Defaulting to port 0 just breaks stuff.

Bug: http://b/22636927
Change-Id: I6239900e0828e71b31171d0184c24824957c99c8
2015-07-21 16:27:46 -07:00
Elliott Hughes 3bcdaa2877 Merge "Recognize IPv6 addresses for "adb connect"." 2015-07-21 22:29:05 +00:00
Elliott Hughes 3d5f60dbba Recognize IPv6 addresses for "adb connect".
Bug: http://b/22559299
Change-Id: I32891d706b5010c38db84a056e76dd279b780f75
2015-07-21 15:25:14 -07:00
Elliott Hughes 5208d55129 Merge "adb: logging: newlines, thread ids, error code overwriting" 2015-07-21 16:45:46 +00:00
Yusuke Sato 0e3ce82b94 Merge "Use fsck.f2fs -a instead of -f for faster boot" 2015-07-21 16:06:40 +00:00
Spencer Low 8d8126a705 adb: logging: newlines, thread ids, error code overwriting
Add missing \n to uses of legacy D() macro. This should make the legacy
logging easier to read (and harder to miss important stuff).

On POSIX, use gettid() from libcutils instead of pthread_self() so that
the output shows a more reasonable number instead of a pointer value.
This should be ok since libbase's logging already uses gettid().

Win32:

Don't let the Win32 last error get overwritten by API calls after the
original error'ing API. When encountering an unknown error, log the
specific error code.

Change-Id: Ib8f72754efa7ba895d2f1cd914251fec2a1d894c
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
2015-07-21 02:06:26 -07:00
Elliott Hughes 05418442ff Merge "Remove subproc events when ADB_HOST." 2015-07-20 22:50:25 +00:00
Daniel Rosenberg 8da23664e7 Merge "rootdir: Create cache folder in Android.mk" 2015-07-20 19:21:49 +00:00
Elliott Hughes 953b44c3ed Merge "Fix adbd/adb server confusion in an error message." 2015-07-20 17:25:16 +00:00
Daniel Erat 4812f8dd30 Merge "Add a "dbus" AID for running dbus-daemon." 2015-07-20 15:03:52 +00:00
Elliott Hughes 64d303a0e7 Fix adbd/adb server confusion in an error message.
Change-Id: Iacb8bcfb1e8e1d46198ee4ba8cf0ec0d1b98c75a
2015-07-18 13:57:46 -07:00
Elliott Hughes ff2016599d Merge "Fix the Mac libcutils build." 2015-07-18 17:53:39 +00:00
Elliott Hughes 0f8f70beb4 Fix the Mac libcutils build.
The stupid Mac doesn't have SOCK_NONBLOCK.

Bug: http://b/22559299
Change-Id: I476dadd0ba0076f5e61a4cd9b1f39cf3508f4188
2015-07-18 10:47:59 -07:00
Elliott Hughes 069f62de20 Merge "Fix N9 boot." 2015-07-18 17:39:24 +00:00
Elliott Hughes 04b2022f7e Fix N9 boot.
Without this, sdcard fails to start because its mount point doesn't
exist.

Bug: http://b/22568628
Change-Id: Ic6a2f51fc74c5bd1f23d97592049495ac3822bb3
2015-07-18 10:34:53 -07:00
Elliott Hughes e36b10a817 Merge "Switch libcutils from gethostbyname to getaddrinfo." 2015-07-18 16:55:58 +00:00
Elliott Hughes 94ae41874a Switch libcutils from gethostbyname to getaddrinfo.
Needed for IPv6 support.

Bug: http://b/22559299
Change-Id: Id10d958b434b207e84bc2ec2ff83221f2c4e8168
2015-07-17 23:45:15 -07:00
Daniel Erat f7b8cae2ef Add a "dbus" AID for running dbus-daemon.
Bug: 22328216
Change-Id: I8478f57d892c6edeb6b101cfa8b38dc5c6262cb2
2015-07-17 16:04:54 -06:00
Alex Vallée 947cb3e8ee Remove subproc events when ADB_HOST.
The code which triggers these events (via the SHELL_EXIT_NOTIFY_FD) are
only called from code which is already guarded by #if !ADB_HOST.

Change-Id: I184414f5e090c1f08ee117e4c8c434cd4a8b5221
2015-07-17 16:00:29 -04:00
Elliott Hughes 683790ae54 Merge "init: Fix bootchart trigger for emulator" 2015-07-16 21:11:23 +00:00
Elliott Hughes a1c344b9de Merge "Move mkdirs to adb_utils." 2015-07-16 21:09:56 +00:00
Nick Kralevich c66e37b2da Merge "init: refuse to start process if domain transition not defined" 2015-07-16 19:20:31 +00:00
Nick Kralevich 4800dbf1da init: refuse to start process if domain transition not defined
When SELinux is in enforcing mode, any process executed by
init must have a domain transition defined. See
https://android-review.googlesource.com/108640 for details. This
prevents an executable spawned by init from remaining in init's
(very powerful) SELinux domain.

However, this is only enforced when SELinux is in enforcing mode.
During new device bringup, it's common to run an Android device
in globally permissive mode. In globally permissive mode, SELinux
denials are logged only, but otherwise ignored. If appropriate
SELinux domain transitions are not defined from init to init spawned
processes, this could cause misleading SELinux denials attributed
to init instead of the child process.

To help address these misleading denials, modify init to not spawn
processes unless a domain transition is defined. This essentially
enforces the rules in https://android-review.googlesource.com/108640
on both permissive and enforcing kernels.

While I'm here, change some "freecon()" calls to "free()", with the
long term goal of deleting freecon() entirely.

Change-Id: I3ef3a372bb85df61a3f6234cb1113cc25fc6506a
2015-07-16 11:32:19 -07:00
Alex Vallée 1421614821 Move mkdirs to adb_utils.
There were duplicate implementations in commandline.cpp and
file_sync_client.cpp.

Change-Id: Ib448f76c0d7ffdcd577336b1c610a881425bc2db
2015-07-15 19:37:18 +00:00
Sami Tolvanen 759717ee63 Merge "Update partition.*.verified even with ro.boot.veritymode set" 2015-07-15 18:35:51 +00:00
Yusuke Sato 0df08271fb Use fsck.f2fs -a instead of -f for faster boot
and run fsck with -f on clean shutdown instead.

With -f, fsck.f2fs always performs a full scan of the /data
partition regardless of whether the partition is clean or not.
The full scan takes more than 2 seconds on volantis-userdebug
and delays the OS boot.

With -a, the command does almost nothing when the partition
is clean and finishes within 20-30ms on volantis-userdebug.
When the partition has an error or its check point has
CP_FSCK_FLAG (aka "need_fsck"), the command does exactly the
same full scan as -f to fix it.

Bug: 21853106
Change-Id: I126263caf34c0f5bb8f5e6794454d4e72526ce38
2015-07-15 10:13:51 -07:00
Sami Tolvanen 2f42554f18 Update partition.*.verified even with ro.boot.veritymode set
We need to have partition.*.verified properties even when bootloader
is managing dm-verity mode, because we may have failed to set up the
verified partition and need a property to indicate this.

This means we still need to run fs_mgr_update_verity_state and walk
through all the partitions to verify the device mapper status, just
without updating verity mode.

Bug: 22489805
Change-Id: Iaf28185adb8b80e5452447e54e1f4e4417a34168
2015-07-15 09:11:13 +00:00
Yu Ning 9136f38aab init: Fix bootchart trigger for emulator
When launched with "-bootchart <timeout>", the Android emulator appends
"androidboot.bootchart=<timeout>" to the kernel command line, which
signals /init to start bootcharting. However, the current implementation
of bootchart_init() in init/bootchart.cpp does not parse the timeout
value correctly, preventing bootcharting to be enabled on the emulator.

This bug was introduced by commit 841b263 ("Further refactoring of the
bootchart code"). Fix it to honor the "androidboot.bootchart" trigger.

Change-Id: I221fe2c2f40a3a04bd478c3a083f7723bc309c8c
Signed-off-by: Yu Ning <yu.ning@intel.com>
2015-07-15 16:41:51 +08:00
Daniel Rosenberg 86b151cbe8 rootdir: Create cache folder in Android.mk
system.img may contain the root directory as well. In that case, we
need to create some folders init.rc would during the build.

Change-Id: I312104ff926fb08d98ac8256b76d01b0a90ea5e5
2015-07-14 17:18:52 -07:00
Daniel Rosenberg a0ced75436 Merge "Remove creation of root directory folders" 2015-07-14 00:57:19 +00:00
Daniel Rosenberg e7ed68ad47 Merge "libcutils: fs_config: Add folders normally created in init.rc" 2015-07-14 00:56:25 +00:00
Daniel Rosenberg 3470855eef Merge "rootdir: Create folders in Android.mk" 2015-07-14 00:55:24 +00:00
Calin Juravle 09a0b17d86 Merge "Allow native bridge to work without a code cache" 2015-07-13 12:50:44 +00:00
Tao Bao 8710125664 Merge "libsparse: Wrap sparse_crc32.h to be C++ compatible." 2015-07-11 21:46:46 +00:00