diff --git a/kernel/include/kernel/FS/Ext2.h b/kernel/include/kernel/FS/Ext2.h index 4326ee145..e511ea210 100644 --- a/kernel/include/kernel/FS/Ext2.h +++ b/kernel/include/kernel/FS/Ext2.h @@ -145,6 +145,7 @@ namespace Kernel virtual BAN::ErrorOr> directory_find_inode(BAN::StringView) override; virtual BAN::ErrorOr read(size_t, void*, size_t) override; + virtual BAN::ErrorOr write(size_t, const void*, size_t) override; virtual BAN::ErrorOr create_file(BAN::StringView, mode_t, uid_t, gid_t) override; diff --git a/kernel/kernel/FS/Ext2.cpp b/kernel/kernel/FS/Ext2.cpp index 3a9395681..39b0428b3 100644 --- a/kernel/kernel/FS/Ext2.cpp +++ b/kernel/kernel/FS/Ext2.cpp @@ -291,6 +291,16 @@ namespace Kernel return n_read; } + BAN::ErrorOr Ext2Inode::write(size_t offset, const void* buffer, size_t count) + { + (void)offset; + (void)buffer; + (void)count; + if (mode().ifdir()) + return BAN::Error::from_errno(EISDIR); + return BAN::Error::from_errno(ENOTSUP); + } + BAN::ErrorOr Ext2Inode::directory_read_next_entries(off_t offset, DirectoryEntryList* list, size_t list_size) { if (!mode().ifdir())