merge in master-release history after reset to 191e3b707ab96107c0e043e4fc99ad37e5eda13e
diff --git a/adb/file_sync_client.c b/adb/file_sync_client.c
index a178995..3da54c4 100644
--- a/adb/file_sync_client.c
+++ b/adb/file_sync_client.c
@@ -25,6 +25,7 @@
 #include <limits.h>
 #include <sys/types.h>
 #include <zipfile/zipfile.h>
+#include <utime.h>
 
 #include "sysdeps.h"
 #include "adb.h"
@@ -935,8 +936,8 @@
 
 static int set_time_and_mode(const char *lpath, unsigned int time, unsigned int mode)
 {
-    struct timeval times[2] = { {time, 0}, {time, 0} };
-    int r1 = utimes(lpath, times);
+    struct utimbuf times = { time, time };
+    int r1 = utime(lpath, &times);
 
     /* use umask for permissions */
     mode_t mask=umask(0000);
diff --git a/logcat/logcat.cpp b/logcat/logcat.cpp
index db4fddd..ea46345 100644
--- a/logcat/logcat.cpp
+++ b/logcat/logcat.cpp
@@ -281,30 +281,6 @@
     return 0;
 }
 
-static const char multipliers[][2] = {
-    { "" },
-    { "K" },
-    { "M" },
-    { "G" }
-};
-
-static unsigned long value_of_size(unsigned long value)
-{
-    for (unsigned i = 0;
-            (i < sizeof(multipliers)/sizeof(multipliers[0])) && (value >= 1024);
-            value /= 1024, ++i) ;
-    return value;
-}
-
-static const char *multiplier_of_size(unsigned long value)
-{
-    unsigned i;
-    for (i = 0;
-            (i < sizeof(multipliers)/sizeof(multipliers[0])) && (value >= 1024);
-            value /= 1024, ++i) ;
-    return multipliers[i];
-}
-
 int main(int argc, char **argv)
 {
     int err;
@@ -739,10 +715,9 @@
                 exit(EXIT_FAILURE);
             }
 
-            printf("%s: ring buffer is %ld%sb (%ld%sb consumed), "
+            printf("%s: ring buffer is %ldKb (%ldKb consumed), "
                    "max entry is %db, max payload is %db\n", dev->device,
-                   value_of_size(size), multiplier_of_size(size),
-                   value_of_size(readable), multiplier_of_size(readable),
+                   size / 1024, readable / 1024,
                    (int) LOGGER_ENTRY_MAX_LEN, (int) LOGGER_ENTRY_MAX_PAYLOAD);
         }
 
diff --git a/logd/LogBuffer.cpp b/logd/LogBuffer.cpp
index dc9d47e..38a237c 100644
--- a/logd/LogBuffer.cpp
+++ b/logd/LogBuffer.cpp
@@ -14,68 +14,29 @@
  * limitations under the License.
  */
 
-#include <ctype.h>
 #include <stdio.h>
-#include <stdlib.h>
 #include <string.h>
 #include <time.h>
 #include <unistd.h>
 
-#include <cutils/properties.h>
 #include <log/logger.h>
 
 #include "LogBuffer.h"
-#include "LogReader.h"
 #include "LogStatistics.h"
 #include "LogWhiteBlackList.h"
+#include "LogReader.h"
 
 // Default
 #define LOG_BUFFER_SIZE (256 * 1024) // Tuned on a per-platform basis here?
 #define log_buffer_size(id) mMaxSize[id]
 
-static unsigned long property_get_size(const char *key) {
-    char property[PROPERTY_VALUE_MAX];
-    property_get(key, property, "");
-
-    char *cp;
-    unsigned long value = strtoul(property, &cp, 10);
-
-    switch(*cp) {
-    case 'm':
-    case 'M':
-        value *= 1024;
-    /* FALLTHRU */
-    case 'k':
-    case 'K':
-        value *= 1024;
-    /* FALLTHRU */
-    case '\0':
-        break;
-
-    default:
-        value = 0;
-    }
-
-    return value;
-}
-
 LogBuffer::LogBuffer(LastLogTimes *times)
         : mTimes(*times) {
     pthread_mutex_init(&mLogElementsLock, NULL);
     dgram_qlen_statistics = false;
 
-    static const char global_default[] = "persist.logd.size";
-    unsigned long default_size = property_get_size(global_default);
-
     log_id_for_each(i) {
-        setSize(i, LOG_BUFFER_SIZE);
-        setSize(i, default_size);
-
-        char key[PROP_NAME_MAX];
-        snprintf(key, sizeof(key), "%s.%s",
-                 global_default, android_log_id_to_name(i));
-
-        setSize(i, property_get_size(key));
+        mMaxSize[i] = LOG_BUFFER_SIZE;
     }
 }
 
diff --git a/logd/LogWhiteBlackList.cpp b/logd/LogWhiteBlackList.cpp
index e87b604..c6c7b23 100644
--- a/logd/LogWhiteBlackList.cpp
+++ b/logd/LogWhiteBlackList.cpp
@@ -47,7 +47,7 @@
 }
 
 PruneList::PruneList()
-        : mWorstUidEnabled(false) {
+        : mWorstUidEnabled(true) {
     mNaughty.clear();
     mNice.clear();
 }
@@ -65,7 +65,7 @@
 }
 
 int PruneList::init(char *str) {
-    mWorstUidEnabled = false;
+    mWorstUidEnabled = true;
     PruneCollection::iterator it;
     for (it = mNice.begin(); it != mNice.end();) {
         delete (*it);
diff --git a/logd/README.property b/logd/README.property
index f4b3c3c..5d92d09 100644
--- a/logd/README.property
+++ b/logd/README.property
@@ -10,16 +10,3 @@
                                          minimum domain socket network FIFO
                                          size (see source for details) based
                                          on typical load (logcat -S to view)
-persist.logd.size          number 256K   default size of the buffer for all
-                                         log ids at initial startup, at runtime
-                                         use: logcat -b all -G <value>
-persist.logd.size.main     number 256K   Size of the buffer for the main log
-persist.logd.size.system   number 256K   Size of the buffer for the system log
-persist.logd.size.radio    number 256K   Size of the buffer for the radio log
-persist.logd.size.event    number 256K   Size of the buffer for the event log
-persist.logd.size.crash    number 256K   Size of the buffer for the crash log
-
-NB:
-- number support multipliers (K or M) for convenience. Range is limited
-  to between 64K and 256M for log buffer sizes. Individual logs override the
-  global default.