mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-12-08 06:09:58 +00:00
41 lines
797 B
C++
41 lines
797 B
C++
|
|
/*
|
||
|
|
* Copyright (c) 2019-2020, Sergey Bugaev <bugaevc@serenityos.org>
|
||
|
|
* Copyright (c) 2022-2023, Liav A. <liavalb@hotmail.co.il>
|
||
|
|
*
|
||
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
||
|
|
*/
|
||
|
|
|
||
|
|
#include <Kernel/FileSystem/RAMFS/FileSystem.h>
|
||
|
|
#include <Kernel/FileSystem/RAMFS/Inode.h>
|
||
|
|
|
||
|
|
namespace Kernel {
|
||
|
|
|
||
|
|
ErrorOr<NonnullLockRefPtr<FileSystem>> RAMFS::try_create()
|
||
|
|
{
|
||
|
|
return TRY(adopt_nonnull_lock_ref_or_enomem(new (nothrow) RAMFS));
|
||
|
|
}
|
||
|
|
|
||
|
|
RAMFS::RAMFS() = default;
|
||
|
|
RAMFS::~RAMFS() = default;
|
||
|
|
|
||
|
|
ErrorOr<void> RAMFS::initialize()
|
||
|
|
{
|
||
|
|
m_root_inode = TRY(RAMFSInode::try_create_root(*this));
|
||
|
|
return {};
|
||
|
|
}
|
||
|
|
|
||
|
|
Inode& RAMFS::root_inode()
|
||
|
|
{
|
||
|
|
VERIFY(!m_root_inode.is_null());
|
||
|
|
return *m_root_inode;
|
||
|
|
}
|
||
|
|
|
||
|
|
unsigned RAMFS::next_inode_index()
|
||
|
|
{
|
||
|
|
MutexLocker locker(m_lock);
|
||
|
|
|
||
|
|
return m_next_inode_index++;
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|