Kernel/LibC: Implement fsync

This commit is contained in:
2024-12-02 03:42:49 +02:00
parent cccb4e6d5e
commit 747c3b2a4b
21 changed files with 140 additions and 35 deletions

View File

@@ -24,6 +24,8 @@ namespace Kernel
protected:
Device(mode_t, uid_t, gid_t);
virtual BAN::ErrorOr<void> fsync_impl() final override { return BAN::Error::from_errno(EINVAL); }
};
class BlockDevice : public Device
@@ -31,6 +33,7 @@ namespace Kernel
public:
virtual BAN::ErrorOr<void> read_blocks(uint64_t first_block, size_t block_count, BAN::ByteSpan) = 0;
virtual BAN::ErrorOr<void> write_blocks(uint64_t first_block, size_t block_count, BAN::ConstByteSpan) = 0;
virtual BAN::ErrorOr<void> sync_blocks(uint64_t block, size_t block_count) = 0;
virtual blksize_t blksize() const = 0;