Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d09f86ce authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge changes 5548,5549 into donut

* changes:
  Better (and less) logging from backup.
  Add an extra null terminator.  String8::unlockBuffer is supposed to be doing this, but it's not and I can't figure out why.  This makes BackupHelperDispatcher able to read the keys correctly.
parents 17a80081 568bc323
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -87,6 +87,14 @@ readHeader_native(JNIEnv* env, jobject clazz, jobject headerObj, jobject fdObj)
        }
    }

#if 0
    LOGD("chunk header:");
    LOGD("  headerSize=%d", flattenedHeader.headerSize);
    LOGD("  version=0x%08x", flattenedHeader.version);
    LOGD("  dataSize=%d", flattenedHeader.dataSize);
    LOGD("  nameLength=%d", flattenedHeader.nameLength);
#endif

    if (flattenedHeader.dataSize < 0 || flattenedHeader.nameLength < 0 ||
            remainingHeader < flattenedHeader.nameLength) {
        LOGW("Malformed V1 header remainingHeader=%d dataSize=%d nameLength=%d", remainingHeader,
@@ -101,13 +109,12 @@ readHeader_native(JNIEnv* env, jobject clazz, jobject headerObj, jobject fdObj)
    }

    amt = read(fd, buf, flattenedHeader.nameLength);
    buf[flattenedHeader.nameLength] = 0;

    keyPrefix.unlockBuffer(flattenedHeader.nameLength);

    remainingHeader -= flattenedHeader.nameLength;

    LOGD("remainingHeader=%d", remainingHeader);

    if (remainingHeader > 0) {
        lseek(fd, remainingHeader, SEEK_CUR);
    }
@@ -183,6 +190,7 @@ writeHeader_native(JNIEnv* env, jobject clazz, jobject headerObj, jobject fdObj,

    header.headerSize = sizeof(chunk_header_v1) + header.nameLength + namePadding;
    header.version = VERSION_1_HEADER;
    header.dataSize = prevPos - (pos + header.headerSize);

    lseek(fd, pos, SEEK_SET);
    err = write(fd, &header, sizeof(chunk_header_v1));
+4 −1
Original line number Diff line number Diff line
@@ -107,7 +107,10 @@ BackupDataWriter::WriteEntityHeader(const String8& key, size_t dataSize)
    } else {
        k = key;
    }
    LOGD("m_keyPrefix=%s key=%s k=%s", m_keyPrefix.string(), key.string(), k.string());
    if (true) {
        LOGD("Writing entity: prefix='%s' key='%s' dataSize=%d", m_keyPrefix.string(), key.string(),
                dataSize);
    }

    entity_header_v1 header;
    ssize_t keyLen;
+5 −2
Original line number Diff line number Diff line
@@ -68,11 +68,15 @@ struct file_metadata_v1 {

const static int CURRENT_METADATA_VERSION = 1;

#if 1 // TEST_BACKUP_HELPERS
#if 1
#define LOGP(f, x...)
#else
#if TEST_BACKUP_HELPERS
#define LOGP(f, x...) printf(f "\n", x)
#else
#define LOGP(x...) LOGD(x)
#endif
#endif

const static int ROUND_UP[4] = { 0, 3, 2, 1 };

@@ -349,7 +353,6 @@ back_up_files(int oldSnapshotFD, BackupDataWriter* dataStream, int newSnapshotFD

        err = stat(file, &st);
        if (err != 0) {
            LOGW("Error stating file %s", file);
            r.deleted = true;
        } else {
            r.deleted = false;