From 9a2c03d2c6f0615cb15e2230b74fd9eb5a491eac Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Tue, 20 Dec 2022 12:15:14 +0100 Subject: [PATCH] vfs: remove Read_result::READ_ERR_INTERRUPT The error condition was too vague and thereby remained unused in practice. Issue #4706 --- repos/dde_rump/src/lib/vfs/rump/vfs_rump.cc | 2 +- repos/gems/include/cbe/vfs/io_job.h | 1 - repos/gems/src/app/cbe_tester/crypto.cc | 2 -- repos/gems/src/app/cbe_tester/main.cc | 1 - repos/gems/src/app/cbe_tester/trust_anchor.cc | 3 --- repos/gems/src/app/vfs_replay/component.cc | 1 - repos/gems/src/lib/vfs/cbe/io_job.h | 1 - repos/gems/src/lib/vfs/cbe/vfs.cc | 1 - repos/libports/src/lib/libc/vfs_plugin.cc | 4 +--- repos/os/include/vfs/file_io_service.h | 4 ++-- repos/os/include/vfs/print.h | 1 - repos/os/src/server/vfs/node.h | 1 - repos/os/src/server/vfs_block/job.h | 1 - repos/os/src/test/vfs_stress/main.cc | 2 -- 14 files changed, 4 insertions(+), 21 deletions(-) diff --git a/repos/dde_rump/src/lib/vfs/rump/vfs_rump.cc b/repos/dde_rump/src/lib/vfs/rump/vfs_rump.cc index 82b5e0c8df..dd6784a4bb 100644 --- a/repos/dde_rump/src/lib/vfs/rump/vfs_rump.cc +++ b/repos/dde_rump/src/lib/vfs/rump/vfs_rump.cc @@ -139,7 +139,7 @@ class Vfs::Rump_file_system : public File_system case EWOULDBLOCK: return READ_ERR_WOULD_BLOCK; case EINVAL: return READ_ERR_INVALID; case EIO: return READ_ERR_IO; - case EINTR: return READ_ERR_INTERRUPT; + case EINTR: return READ_ERR_IO; default: Genode::error(__func__, ": unhandled rump error ", errno); return READ_ERR_IO; diff --git a/repos/gems/include/cbe/vfs/io_job.h b/repos/gems/include/cbe/vfs/io_job.h index 54b2fe1ee7..f3bf301376 100644 --- a/repos/gems/include/cbe/vfs/io_job.h +++ b/repos/gems/include/cbe/vfs/io_job.h @@ -117,7 +117,6 @@ namespace Util { _data + _current_offset, _current_count, out); if (result == Result::READ_QUEUED - || result == Result::READ_ERR_INTERRUPT || result == Result::READ_ERR_WOULD_BLOCK) { return progress; } else diff --git a/repos/gems/src/app/cbe_tester/crypto.cc b/repos/gems/src/app/cbe_tester/crypto.cc index 889afede86..c74d861568 100644 --- a/repos/gems/src/app/cbe_tester/crypto.cc +++ b/repos/gems/src/app/cbe_tester/crypto.cc @@ -240,7 +240,6 @@ void Crypto::_execute_decrypt_block(Job &job, switch (result) { case Read_result::READ_QUEUED: return; - case Read_result::READ_ERR_INTERRUPT: return; case Read_result::READ_ERR_WOULD_BLOCK: return; default: break; } @@ -305,7 +304,6 @@ void Crypto::_execute_encrypt_block(Job &job, switch (result) { case Read_result::READ_QUEUED: return; - case Read_result::READ_ERR_INTERRUPT: return; case Read_result::READ_ERR_WOULD_BLOCK: return; default: break; } diff --git a/repos/gems/src/app/cbe_tester/main.cc b/repos/gems/src/app/cbe_tester/main.cc index 6d80476ae0..aa66093742 100644 --- a/repos/gems/src/app/cbe_tester/main.cc +++ b/repos/gems/src/app/cbe_tester/main.cc @@ -312,7 +312,6 @@ class Vfs_block_io_job switch (result) { case Result::READ_QUEUED: - case Result::READ_ERR_INTERRUPT: case Result::READ_ERR_WOULD_BLOCK: return; diff --git a/repos/gems/src/app/cbe_tester/trust_anchor.cc b/repos/gems/src/app/cbe_tester/trust_anchor.cc index 8f90413202..005739a079 100644 --- a/repos/gems/src/app/cbe_tester/trust_anchor.cc +++ b/repos/gems/src/app/cbe_tester/trust_anchor.cc @@ -92,7 +92,6 @@ void Trust_anchor::_execute_write_read_operation(Vfs_handle &file, switch (result) { case Read_result::READ_QUEUED: - case Read_result::READ_ERR_INTERRUPT: case Read_result::READ_ERR_WOULD_BLOCK: return; @@ -201,7 +200,6 @@ void Trust_anchor::_execute_write_operation(Vfs_handle &file, switch (result) { case Read_result::READ_QUEUED: - case Read_result::READ_ERR_INTERRUPT: case Read_result::READ_ERR_WOULD_BLOCK: return; @@ -264,7 +262,6 @@ void Trust_anchor::_execute_read_operation(Vfs_handle &file, switch (result) { case Read_result::READ_QUEUED: - case Read_result::READ_ERR_INTERRUPT: case Read_result::READ_ERR_WOULD_BLOCK: return; diff --git a/repos/gems/src/app/vfs_replay/component.cc b/repos/gems/src/app/vfs_replay/component.cc index 03e64716a7..20b5ed2f31 100644 --- a/repos/gems/src/app/vfs_replay/component.cc +++ b/repos/gems/src/app/vfs_replay/component.cc @@ -181,7 +181,6 @@ class Vfs_replay _read_buffer.local_addr(), request.current_count, out); if (result == Result::READ_QUEUED - || result == Result::READ_ERR_INTERRUPT || result == Result::READ_ERR_WOULD_BLOCK) { return progress; } diff --git a/repos/gems/src/lib/vfs/cbe/io_job.h b/repos/gems/src/lib/vfs/cbe/io_job.h index 05ff017f96..5c6fe7400c 100644 --- a/repos/gems/src/lib/vfs/cbe/io_job.h +++ b/repos/gems/src/lib/vfs/cbe/io_job.h @@ -93,7 +93,6 @@ namespace Vfs_cbe { data + _current_offset, _current_count, out); if (result == Result::READ_QUEUED - || result == Result::READ_ERR_INTERRUPT || result == Result::READ_ERR_WOULD_BLOCK) { return progress; } else diff --git a/repos/gems/src/lib/vfs/cbe/vfs.cc b/repos/gems/src/lib/vfs/cbe/vfs.cc index d24684f5f4..fbb13f1328 100644 --- a/repos/gems/src/lib/vfs/cbe/vfs.cc +++ b/repos/gems/src/lib/vfs/cbe/vfs.cc @@ -1343,7 +1343,6 @@ class Vfs_cbe::Wrapper using Result = Vfs::File_io_service::Read_result; switch (r) { case Result::READ_QUEUED: [[fallthrough]]; - case Result::READ_ERR_INTERRUPT: [[fallthrough]]; case Result::READ_ERR_WOULD_BLOCK: return true; default: break; } diff --git a/repos/libports/src/lib/libc/vfs_plugin.cc b/repos/libports/src/lib/libc/vfs_plugin.cc index 3a782fe162..f1f8d2f43c 100644 --- a/repos/libports/src/lib/libc/vfs_plugin.cc +++ b/repos/libports/src/lib/libc/vfs_plugin.cc @@ -1000,7 +1000,6 @@ ssize_t Libc::Vfs_plugin::read(File_descriptor *fd, void *buf, case Result::READ_ERR_WOULD_BLOCK: return Errno(EWOULDBLOCK); case Result::READ_ERR_INVALID: return Errno(EINVAL); case Result::READ_ERR_IO: return Errno(EIO); - case Result::READ_ERR_INTERRUPT: return Errno(EINTR); case Result::READ_OK: break; case Result::READ_QUEUED: /* handled above, so never reached */ break; @@ -2219,8 +2218,7 @@ ssize_t Libc::Vfs_plugin::readlink(const char *link_path, char *buf, ::size_t bu case Result::READ_ERR_WOULD_BLOCK: result_errno = EWOULDBLOCK; break; case Result::READ_ERR_INVALID: result_errno = EINVAL; break; case Result::READ_ERR_IO: result_errno = EIO; break; - case Result::READ_ERR_INTERRUPT: result_errno = EINTR; break; - case Result::READ_OK: succeeded = true; break; + case Result::READ_OK: succeeded = true; break; }; handle->close(); } break; diff --git a/repos/os/include/vfs/file_io_service.h b/repos/os/include/vfs/file_io_service.h index 1bd997578c..9da8fa56df 100644 --- a/repos/os/include/vfs/file_io_service.h +++ b/repos/os/include/vfs/file_io_service.h @@ -40,8 +40,8 @@ struct Vfs::File_io_service : Interface **********/ enum Read_result { READ_ERR_WOULD_BLOCK, READ_ERR_INVALID, - READ_ERR_IO, READ_ERR_INTERRUPT, - READ_QUEUED, READ_OK }; + READ_ERR_IO, READ_QUEUED, + READ_OK }; /** * Queue read operation diff --git a/repos/os/include/vfs/print.h b/repos/os/include/vfs/print.h index e9ec0d7f1a..3a04c35dae 100644 --- a/repos/os/include/vfs/print.h +++ b/repos/os/include/vfs/print.h @@ -152,7 +152,6 @@ static inline void print(Genode::Output &output, Vfs::File_io_service::Read_resu CASE_PRINT(READ_ERR_WOULD_BLOCK); CASE_PRINT(READ_ERR_INVALID); CASE_PRINT(READ_ERR_IO); - CASE_PRINT(READ_ERR_INTERRUPT); CASE_PRINT(READ_QUEUED); } diff --git a/repos/os/src/server/vfs/node.h b/repos/os/src/server/vfs/node.h index 7b731fe52a..beff1ac002 100644 --- a/repos/os/src/server/vfs/node.h +++ b/repos/os/src/server/vfs/node.h @@ -392,7 +392,6 @@ class Vfs_server::Io_node : public Vfs_server::Node, break; case Read_result::READ_ERR_WOULD_BLOCK: - case Read_result::READ_ERR_INTERRUPT: case Read_result::READ_QUEUED: break; } diff --git a/repos/os/src/server/vfs_block/job.h b/repos/os/src/server/vfs_block/job.h index d6a2f57345..3e0d729f74 100644 --- a/repos/os/src/server/vfs_block/job.h +++ b/repos/os/src/server/vfs_block/job.h @@ -89,7 +89,6 @@ namespace Vfs_block { data + current_offset, current_count, out); if (result == Result::READ_QUEUED - || result == Result::READ_ERR_INTERRUPT || result == Result::READ_ERR_WOULD_BLOCK) { return progress; } else diff --git a/repos/os/src/test/vfs_stress/main.cc b/repos/os/src/test/vfs_stress/main.cc index 628488b516..a1d14d7453 100644 --- a/repos/os/src/test/vfs_stress/main.cc +++ b/repos/os/src/test/vfs_stress/main.cc @@ -118,8 +118,6 @@ inline void assert_read(Vfs::File_io_service::Read_result r) error("READ_ERR_INVALID"); break; case Result::READ_ERR_IO: error("READ_ERR_IO"); break; - case Result::READ_ERR_INTERRUPT: - error("READ_ERR_INTERRUPT"); break; } throw Exception(); }