From cbb2c37e001a1b4992e39a8cfade0bd7d61dfca7 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Mon, 6 Nov 2023 20:11:34 +0200 Subject: [PATCH] Kernel: Implement TmpFS inode chmod --- kernel/include/kernel/FS/TmpFS/Inode.h | 2 ++ kernel/kernel/FS/TmpFS/Inode.cpp | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/kernel/include/kernel/FS/TmpFS/Inode.h b/kernel/include/kernel/FS/TmpFS/Inode.h index f80dd74bf..4bce88b2f 100644 --- a/kernel/include/kernel/FS/TmpFS/Inode.h +++ b/kernel/include/kernel/FS/TmpFS/Inode.h @@ -69,6 +69,8 @@ namespace Kernel virtual BAN::ErrorOr read_impl(off_t, BAN::ByteSpan) override; virtual BAN::ErrorOr write_impl(off_t, BAN::ConstByteSpan) override; virtual BAN::ErrorOr truncate_impl(size_t) override; + virtual BAN::ErrorOr chmod_impl(mode_t) override; + virtual bool has_data_impl() const override { return true; } private: TmpFileInode(TmpFileSystem&, ino_t, const TmpInodeInfo&); diff --git a/kernel/kernel/FS/TmpFS/Inode.cpp b/kernel/kernel/FS/TmpFS/Inode.cpp index 4d01b1a19..c0a14bc54 100644 --- a/kernel/kernel/FS/TmpFS/Inode.cpp +++ b/kernel/kernel/FS/TmpFS/Inode.cpp @@ -199,6 +199,12 @@ namespace Kernel return {}; } + BAN::ErrorOr TmpFileInode::chmod_impl(mode_t new_mode) + { + m_inode_info.mode = new_mode; + return {}; + } + /* DIRECTORY INODE */ BAN::ErrorOr> TmpDirectoryInode::create_root(TmpFileSystem& fs, mode_t mode, uid_t uid, gid_t gid)