diff --git a/src/core/file_sys/devices/console_device.h b/src/core/file_sys/devices/console_device.h index 6c04cf372..b5b2414e6 100644 --- a/src/core/file_sys/devices/console_device.h +++ b/src/core/file_sys/devices/console_device.h @@ -26,12 +26,6 @@ public: s64 read(void* buf, u64 count) override { DEVICE_STUB(); }; s64 write(const void* buf, u64 count) override { DEVICE_STUB(); }; s32 ioctl(u64 cmd, Common::VaCtx* args) override { DEVICE_STUB(); }; - s64 pread(void* buf, size_t count, s64 offset) override { DEVICE_STUB(); }; - s64 pwrite(const void* buf, size_t count, s64 offset) override { DEVICE_STUB(); }; - s64 readv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { DEVICE_STUB(); }; - s64 writev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { DEVICE_STUB(); }; - s64 preadv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { DEVICE_STUB(); }; - s64 pwritev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { DEVICE_STUB(); }; s64 lseek(s64 offset, int whence) override { DEVICE_STUB(); }; s32 fstat(Libraries::Kernel::OrbisKernelStat* sb) override { DEVICE_STUB(); }; s32 fsync() override { DEVICE_STUB(); }; diff --git a/src/core/file_sys/devices/deci_tty6_device.h b/src/core/file_sys/devices/deci_tty6_device.h index 45e078ddb..5df077430 100644 --- a/src/core/file_sys/devices/deci_tty6_device.h +++ b/src/core/file_sys/devices/deci_tty6_device.h @@ -26,12 +26,6 @@ public: s64 read(void* buf, u64 count) override { DEVICE_STUB(); }; s64 write(const void* buf, u64 count) override { DEVICE_STUB(); }; s32 ioctl(u64 cmd, Common::VaCtx* args) override { DEVICE_STUB(); }; - s64 pread(void* buf, size_t count, s64 offset) override { DEVICE_STUB(); }; - s64 pwrite(const void* buf, size_t count, s64 offset) override { DEVICE_STUB(); }; - s64 readv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { DEVICE_STUB(); }; - s64 writev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { DEVICE_STUB(); }; - s64 preadv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { DEVICE_STUB(); }; - s64 pwritev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { DEVICE_STUB(); }; s64 lseek(s64 offset, int whence) override { DEVICE_STUB(); }; s32 fstat(Libraries::Kernel::OrbisKernelStat* sb) override { DEVICE_STUB(); }; s32 fsync() override { DEVICE_STUB(); }; diff --git a/src/core/file_sys/devices/logger.cpp b/src/core/file_sys/devices/logger.cpp index 0cd63a5d0..6b823863a 100644 --- a/src/core/file_sys/devices/logger.cpp +++ b/src/core/file_sys/devices/logger.cpp @@ -16,20 +16,6 @@ s64 Logger::write(const void* buf, u64 nbytes) { return nbytes; } -s64 Logger::pwrite(const void* buf, u64 nbytes, s64 offset) { - log(static_cast(buf), nbytes); - return nbytes; -} - -s64 Logger::writev(const Libraries::Kernel::OrbisKernelIovec* iov, s32 iovcnt) { - size_t total_written = 0; - for (int i = 0; i < iovcnt; i++) { - log(static_cast(iov[i].iov_base), iov[i].iov_len); - total_written += iov[i].iov_len; - } - return total_written; -} - s32 Logger::fsync() { log_flush(); return 0; diff --git a/src/core/file_sys/devices/logger.h b/src/core/file_sys/devices/logger.h index 84f147aa5..9399f2d93 100644 --- a/src/core/file_sys/devices/logger.h +++ b/src/core/file_sys/devices/logger.h @@ -31,11 +31,17 @@ public: ~Logger(); s64 write(const void* buf, u64 nbytes) override; - s64 writev(const Libraries::Kernel::OrbisKernelIovec* iov, s32 iovcnt) override; - s64 pwrite(const void* buf, u64 nbytes, s64 offset) override; - s32 fsync() override; + // clang-format off + s64 read(void* buf, u64 count) override { DEVICE_STUB(); }; + s32 ioctl(u64 cmd, Common::VaCtx* args) override { DEVICE_STUB(); } + s64 lseek(s64 offset, int whence) override { DEVICE_STUB(); } + s32 fstat(Libraries::Kernel::OrbisKernelStat* sb) override { DEVICE_STUB(); } + s32 ftruncate(s64 length) override { DEVICE_STUB(); } + s64 getdents(void* buf, u32 nbytes, s64* basep) override { DEVICE_STUB(); } + // clang-format on + private: void log(const char* buf, u64 nbytes); void log_flush(); diff --git a/src/core/file_sys/devices/nop_device.h b/src/core/file_sys/devices/nop_device.h index 64d62bf8d..249112d3a 100644 --- a/src/core/file_sys/devices/nop_device.h +++ b/src/core/file_sys/devices/nop_device.h @@ -19,12 +19,6 @@ public: s64 read(void* buf, u64 count) override { return 0; }; s64 write(const void* buf, u64 count) override { return 0; }; s32 ioctl(u64 cmd, Common::VaCtx* args) override { return 0; }; - s64 pread(void* buf, size_t count, s64 offset) override { return 0; }; - s64 pwrite(const void* buf, size_t count, s64 offset) override { return 0; }; - s64 readv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { return 0; }; - s64 writev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { return 0; }; - s64 preadv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { return 0; }; - s64 pwritev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { return 0; }; s64 lseek(s64 offset, int whence) override { return 0; }; s32 fstat(Libraries::Kernel::OrbisKernelStat* sb) override { return 0; }; s32 fsync() override { return 0; }; diff --git a/src/core/file_sys/devices/rng_device.h b/src/core/file_sys/devices/rng_device.h index 61f939611..2a9276b1d 100644 --- a/src/core/file_sys/devices/rng_device.h +++ b/src/core/file_sys/devices/rng_device.h @@ -26,12 +26,6 @@ public: // clang-format off s64 read(void* buf, u64 count) override { DEVICE_STUB(); } s64 write(const void* buf, u64 count) override { DEVICE_STUB(); } - s64 pread(void* buf, size_t count, s64 offset) override { DEVICE_STUB(); } - s64 pwrite(const void* buf, size_t count, s64 offset) override { DEVICE_STUB(); } - s64 readv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { DEVICE_STUB(); } - s64 writev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { DEVICE_STUB(); } - s64 preadv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { DEVICE_STUB(); } - s64 pwritev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { DEVICE_STUB(); } s64 lseek(s64 offset, int whence) override { DEVICE_STUB(); } s32 fstat(Libraries::Kernel::OrbisKernelStat* sb) override { DEVICE_STUB(); } s32 fsync() override { DEVICE_STUB(); } diff --git a/src/core/file_sys/quasifs/quasifs_inode_quasi_file.h b/src/core/file_sys/quasifs/quasifs_inode_quasi_file.h index 941631cf7..4daab4e2a 100644 --- a/src/core/file_sys/quasifs/quasifs_inode_quasi_file.h +++ b/src/core/file_sys/quasifs/quasifs_inode_quasi_file.h @@ -25,8 +25,6 @@ public: UNREACHABLE(); } - s64 read(void* buf, size_t count) override; - s64 write(const void* buf, size_t count) override; s64 pread(void* buf, size_t count, s64 offset) override; s64 pwrite(const void* buf, size_t count, s64 offset) override; diff --git a/src/core/file_sys/quasifs/quasifs_inode_virtualfile.h b/src/core/file_sys/quasifs/quasifs_inode_virtualfile.h index f70ceec2d..afc863f69 100644 --- a/src/core/file_sys/quasifs/quasifs_inode_virtualfile.h +++ b/src/core/file_sys/quasifs/quasifs_inode_virtualfile.h @@ -19,8 +19,6 @@ public: // // Working functions // - s64 read(void* buf, size_t count) override; - s64 write(const void* buf, size_t count) override; s64 pread(void* buf, size_t count, s64 offset) override; s64 pwrite(const void* buf, size_t count, s64 offset) override; s32 ftruncate(s64 length) override; diff --git a/src/core/file_sys/quasifs/src/quasifs.cpp b/src/core/file_sys/quasifs/src/quasifs.cpp index b448a6462..bb172de93 100644 --- a/src/core/file_sys/quasifs/src/quasifs.cpp +++ b/src/core/file_sys/quasifs/src/quasifs.cpp @@ -414,6 +414,8 @@ void QFS::SyncHostImpl(partition_ptr part) { continue; } + // this should populate **everything** immediately + // this is a note to self TODO: if (0 != this->hio_driver.Stat(entry_path, &new_inode->st)) { LOG_ERROR(Kernel_Fs, "Cannot stat file: {}", entry_path.string()); continue; diff --git a/src/core/file_sys/quasifs/src/quasifs_inode_quasi_file.cpp b/src/core/file_sys/quasifs/src/quasifs_inode_quasi_file.cpp index d9d518ad4..729d3fc2a 100644 --- a/src/core/file_sys/quasifs/src/quasifs_inode_quasi_file.cpp +++ b/src/core/file_sys/quasifs/src/quasifs_inode_quasi_file.cpp @@ -7,14 +7,6 @@ namespace QuasiFS { -s64 QuasiFile::read(void* buf, size_t count) { - return pread(buf, count, 0); -} - -s64 QuasiFile::write(const void* buf, size_t count) { - return pwrite(buf, count, 0); -} - s64 QuasiFile::pread(void* buf, size_t count, s64 offset) { auto size = &this->st.st_size; auto end_pos = offset + count; diff --git a/src/core/file_sys/quasifs/src/quasifs_inode_virtualfile.cpp b/src/core/file_sys/quasifs/src/quasifs_inode_virtualfile.cpp index d87de7f43..dd6c0bdce 100644 --- a/src/core/file_sys/quasifs/src/quasifs_inode_virtualfile.cpp +++ b/src/core/file_sys/quasifs/src/quasifs_inode_virtualfile.cpp @@ -7,14 +7,6 @@ namespace QuasiFS { -s64 VirtualFile::read(void* buf, size_t count) { - return pread(buf, count, 0); -} - -s64 VirtualFile::write(const void* buf, size_t count) { - return pwrite(buf, count, 0); -} - s64 VirtualFile::pread(void* buf, size_t count, s64 offset) { s64 idx; s64 read_amt = this->data.size() - offset - count;