mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-28 15:28:55 +00:00
FS: Don't default to having a full InodeMetadata in every Inode.
This allows Ext2FS to keep its own ext2_inode around instead.
This commit is contained in:
parent
0cb074dc73
commit
d07b08a287
Notes:
sideshowbarker
2024-07-19 16:06:16 +09:00
Author: https://github.com/awesomekling
Commit: d07b08a287
8 changed files with 93 additions and 80 deletions
|
@ -51,7 +51,7 @@ auto VFS::makeNode(InodeIdentifier inode) -> RetainPtr<Vnode>
|
|||
if (!core_inode)
|
||||
return nullptr;
|
||||
|
||||
auto& metadata = core_inode->metadata();
|
||||
auto metadata = core_inode->metadata();
|
||||
|
||||
InterruptDisabler disabler;
|
||||
|
||||
|
@ -74,7 +74,6 @@ auto VFS::makeNode(InodeIdentifier inode) -> RetainPtr<Vnode>
|
|||
|
||||
vnode->inode = inode;
|
||||
vnode->m_core_inode = move(core_inode);
|
||||
vnode->m_cachedMetadata = metadata;
|
||||
|
||||
#ifdef VFS_DEBUG
|
||||
kprintf("makeNode: inode=%u, size=%u, mode=%o, uid=%u, gid=%u\n", inode.index(), metadata.size, metadata.mode, metadata.uid, metadata.gid);
|
||||
|
@ -474,11 +473,12 @@ void Vnode::release()
|
|||
}
|
||||
}
|
||||
|
||||
const InodeMetadata& Vnode::metadata() const
|
||||
InodeMetadata Vnode::metadata() const
|
||||
{
|
||||
if (m_core_inode)
|
||||
return m_core_inode->metadata();
|
||||
return m_cachedMetadata;
|
||||
ASSERT_NOT_REACHED();
|
||||
return { };
|
||||
}
|
||||
|
||||
VFS::Mount::Mount(InodeIdentifier host, RetainPtr<FS>&& guest_fs)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue