diff --git a/fs_mgr/libsnapshot/Android.bp b/fs_mgr/libsnapshot/Android.bp index 046ea74b5..a3384e406 100644 --- a/fs_mgr/libsnapshot/Android.bp +++ b/fs_mgr/libsnapshot/Android.bp @@ -74,7 +74,6 @@ filegroup { "android/snapshot/snapshot.proto", "device_info.cpp", "snapshot.cpp", - "snapshot_reader.cpp", "snapshot_stats.cpp", "snapshot_stub.cpp", "snapshot_metadata_updater.cpp", diff --git a/fs_mgr/libsnapshot/snapshot.cpp b/fs_mgr/libsnapshot/snapshot.cpp index b672d0e28..8ac2f830a 100644 --- a/fs_mgr/libsnapshot/snapshot.cpp +++ b/fs_mgr/libsnapshot/snapshot.cpp @@ -44,7 +44,6 @@ #include "device_info.h" #include "partition_cow_creator.h" #include "snapshot_metadata_updater.h" -#include "snapshot_reader.h" #include "utility.h" namespace android { diff --git a/fs_mgr/libsnapshot/snapshot_reader.cpp b/fs_mgr/libsnapshot/snapshot_reader.cpp deleted file mode 100644 index 0d47468ae..000000000 --- a/fs_mgr/libsnapshot/snapshot_reader.cpp +++ /dev/null @@ -1,77 +0,0 @@ -// -// Copyright (C) 2020 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#include - -#include "snapshot_reader.h" - -namespace android { -namespace snapshot { - -// Not supported. -bool ReadOnlyFileDescriptor::Open(const char*, int, mode_t) { - errno = EINVAL; - return false; -} - -bool ReadOnlyFileDescriptor::Open(const char*, int) { - errno = EINVAL; - return false; -} - -ssize_t ReadOnlyFileDescriptor::Write(const void*, size_t) { - errno = EINVAL; - return false; -} - -bool ReadOnlyFileDescriptor::BlkIoctl(int, uint64_t, uint64_t, int*) { - errno = EINVAL; - return false; -} - -ReadFdFileDescriptor::ReadFdFileDescriptor(android::base::unique_fd&& fd) : fd_(std::move(fd)) {} - -ssize_t ReadFdFileDescriptor::Read(void* buf, size_t count) { - return read(fd_.get(), buf, count); -} - -off64_t ReadFdFileDescriptor::Seek(off64_t offset, int whence) { - return lseek(fd_.get(), offset, whence); -} - -uint64_t ReadFdFileDescriptor::BlockDevSize() { - return get_block_device_size(fd_.get()); -} - -bool ReadFdFileDescriptor::Close() { - fd_ = {}; - return true; -} - -bool ReadFdFileDescriptor::IsSettingErrno() { - return true; -} - -bool ReadFdFileDescriptor::IsOpen() { - return fd_ >= 0; -} - -bool ReadFdFileDescriptor::Flush() { - return true; -} - -} // namespace snapshot -} // namespace android diff --git a/fs_mgr/libsnapshot/snapshot_reader.h b/fs_mgr/libsnapshot/snapshot_reader.h deleted file mode 100644 index 1f2ffe211..000000000 --- a/fs_mgr/libsnapshot/snapshot_reader.h +++ /dev/null @@ -1,50 +0,0 @@ -// -// Copyright (C) 2020 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#pragma once - -#include -#include - -namespace android { -namespace snapshot { - -class ReadOnlyFileDescriptor : public chromeos_update_engine::FileDescriptor { - public: - bool Open(const char* path, int flags, mode_t mode) override; - bool Open(const char* path, int flags) override; - ssize_t Write(const void* buf, size_t count) override; - bool BlkIoctl(int request, uint64_t start, uint64_t length, int* result) override; -}; - -class ReadFdFileDescriptor : public ReadOnlyFileDescriptor { - public: - explicit ReadFdFileDescriptor(android::base::unique_fd&& fd); - - ssize_t Read(void* buf, size_t count) override; - off64_t Seek(off64_t offset, int whence) override; - uint64_t BlockDevSize() override; - bool Close() override; - bool IsSettingErrno() override; - bool IsOpen() override; - bool Flush() override; - - private: - android::base::unique_fd fd_; -}; - -} // namespace snapshot -} // namespace android diff --git a/fs_mgr/libsnapshot/snapshot_writer.cpp b/fs_mgr/libsnapshot/snapshot_writer.cpp index 584f15e78..1958f188b 100644 --- a/fs_mgr/libsnapshot/snapshot_writer.cpp +++ b/fs_mgr/libsnapshot/snapshot_writer.cpp @@ -19,12 +19,10 @@ #include #include #include -#include "snapshot_reader.h" namespace android { namespace snapshot { -using android::base::unique_fd; using chromeos_update_engine::FileDescriptor; ISnapshotWriter::ISnapshotWriter(const CowOptions& options) : ICowWriter(options) {} @@ -85,12 +83,8 @@ bool OnlineKernelSnapshotWriter::EmitCopy(uint64_t new_block, uint64_t old_block } std::unique_ptr OnlineKernelSnapshotWriter::OpenReader() { - unique_fd fd(dup(snapshot_fd_.get())); - if (fd < 0) { - PLOG(ERROR) << "dup2 failed in OpenReader"; - return nullptr; - } - return std::make_unique(std::move(fd)); + LOG(ERROR) << "OnlineKernelSnapshotWriter::OpenReader not yet implemented"; + return nullptr; } } // namespace snapshot