Kernel: Fix TmpSymlinkInode target getting/setting
This commit is contained in:
parent
0e8a68831c
commit
bac06e45a4
|
@ -118,10 +118,9 @@ namespace Kernel
|
|||
static BAN::ErrorOr<BAN::RefPtr<TmpSymlinkInode>> create_new(TmpFileSystem&, mode_t, uid_t, gid_t, BAN::StringView target);
|
||||
~TmpSymlinkInode();
|
||||
|
||||
BAN::ErrorOr<void> set_link_target(BAN::StringView);
|
||||
|
||||
protected:
|
||||
virtual BAN::ErrorOr<BAN::String> link_target_impl() override;
|
||||
BAN::ErrorOr<BAN::String> link_target_impl() override;
|
||||
BAN::ErrorOr<void> set_link_target_impl(BAN::StringView) override;
|
||||
|
||||
virtual bool can_read_impl() const override { return false; }
|
||||
virtual bool can_write_impl() const override { return false; }
|
||||
|
|
|
@ -295,7 +295,7 @@ namespace Kernel
|
|||
{
|
||||
}
|
||||
|
||||
BAN::ErrorOr<void> TmpSymlinkInode::set_link_target(BAN::StringView new_target)
|
||||
BAN::ErrorOr<void> TmpSymlinkInode::set_link_target_impl(BAN::StringView new_target)
|
||||
{
|
||||
free_all_blocks();
|
||||
m_inode_info.size = 0;
|
||||
|
@ -507,6 +507,9 @@ namespace Kernel
|
|||
case Mode::IFREG:
|
||||
new_inode = TRY(TmpFileInode::create_new(m_fs, mode, uid, gid));
|
||||
break;
|
||||
case Mode::IFLNK:
|
||||
new_inode = TRY(TmpSymlinkInode::create_new(m_fs, mode, uid, gid, ""_sv));
|
||||
break;
|
||||
case Mode::IFSOCK:
|
||||
new_inode = TRY(TmpSocketInode::create_new(m_fs, mode, uid, gid));
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue