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

Commit 66a98d95 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 12199973 from b3b45393 to 24Q4-release

Change-Id: I34f377dbb7042cd339adfd5868c1b4ee919e9832
parents d46569e0 b3b45393
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -281,9 +281,17 @@ cc_defaults {
    header_libs: [
        "libstorage_literals_headers",
    ],
    compile_multilib: "both",
    multilib: {
        lib32: {
            suffix: "32",
        },
        lib64: {
            suffix: "64",
        },
    },
    auto_gen_config: true,
    require_root: true,
    compile_multilib: "first",
}

cc_test {
@@ -316,12 +324,6 @@ cc_test {
    test_options: {
        // Legacy VAB launched in Android R.
        min_shipping_api_level: 30,
        test_runner_options: [
            {
                name: "force-no-test-error",
                value: "false",
            },
        ],
    },
}

+15 −1
Original line number Diff line number Diff line
@@ -238,9 +238,19 @@ cc_defaults {
    test_options: {
        min_shipping_api_level: 30,
    },

    compile_multilib: "both",
    multilib: {
        lib32: {
            suffix: "32",
        },
        lib64: {
            suffix: "64",
        },
    },

    auto_gen_config: true,
    require_root: true,
    compile_multilib: "first",
}

cc_test {
@@ -267,6 +277,10 @@ cc_test {
    test_suites: [
        "vts",
    ],
    test_options: {
        // VABC mandatory in Android T per VSR.
        min_shipping_api_level: 32,
    },
}

cc_binary_host {
+5 −3
Original line number Diff line number Diff line
@@ -27,11 +27,12 @@ using android::base::unique_fd;
DmUserBlockServer::DmUserBlockServer(const std::string& misc_name, unique_fd&& ctrl_fd,
                                     Delegate* delegate, size_t buffer_size)
    : misc_name_(misc_name), ctrl_fd_(std::move(ctrl_fd)), delegate_(delegate) {
    buffer_.Initialize(buffer_size);
    buffer_.Initialize(sizeof(struct dm_user_header), buffer_size);
}

bool DmUserBlockServer::ProcessRequests() {
    struct dm_user_header* header = buffer_.GetHeaderPtr();
    struct dm_user_header* header =
            reinterpret_cast<struct dm_user_header*>(buffer_.GetHeaderPtr());
    if (!android::base::ReadFully(ctrl_fd_, header, sizeof(*header))) {
        if (errno != ENOTBLK) {
            SNAP_PLOG(ERROR) << "Control-read failed";
@@ -90,7 +91,8 @@ bool DmUserBlockServer::SendBufferedIo() {
}

void DmUserBlockServer::SendError() {
    struct dm_user_header* header = buffer_.GetHeaderPtr();
    struct dm_user_header* header =
            reinterpret_cast<struct dm_user_header*>(buffer_.GetHeaderPtr());
    header->type = DM_USER_RESP_ERROR;
    // This is an issue with the dm-user interface. There
    // is no way to propagate the I/O error back to dm-user
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@

#include <snapuserd/block_server.h>
#include <snapuserd/snapuserd_buffer.h>
#include <snapuserd/snapuserd_kernel.h>

namespace android {
namespace snapshot {
+7 −2
Original line number Diff line number Diff line
@@ -27,13 +27,17 @@ namespace snapshot {

class BufferSink final {
  public:
    void Initialize(size_t size);
    // Do not reserve any space of header by default
    void Initialize(size_t size) { return Initialize(0, size); };
    // This allows to set const header_size_ to be used if caller needs it
    // for example, while working with dm_user
    void Initialize(size_t header_size, size_t size);
    void* GetBufPtr() { return buffer_.get(); }
    void Clear() { memset(GetBufPtr(), 0, buffer_size_); }
    void* GetPayloadBuffer(size_t size);
    void* GetBuffer(size_t requested, size_t* actual);
    void UpdateBufferOffset(size_t size) { buffer_offset_ += size; }
    struct dm_user_header* GetHeaderPtr();
    void* GetHeaderPtr();
    void ResetBufferOffset() { buffer_offset_ = 0; }
    void* GetPayloadBufPtr();
    loff_t GetPayloadBytesWritten() { return buffer_offset_; }
@@ -56,6 +60,7 @@ class BufferSink final {
    std::unique_ptr<uint8_t[]> buffer_;
    loff_t buffer_offset_;
    size_t buffer_size_;
    size_t header_size_;
};

}  // namespace snapshot
Loading