1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 20:27:35 +00:00

Kernel/ProcFS: Remove redundant ProcFS& member from ProcFSInode

This commit is contained in:
Andreas Kling 2021-07-18 02:24:26 +02:00
parent d298de5e09
commit df5fa8aa39
2 changed files with 7 additions and 7 deletions

View file

@ -184,7 +184,6 @@ NonnullRefPtr<ProcFSDirectoryInode> ProcFSDirectoryInode::create(const ProcFS& p
ProcFSDirectoryInode::ProcFSDirectoryInode(const ProcFS& fs, const ProcFSExposedComponent& component) ProcFSDirectoryInode::ProcFSDirectoryInode(const ProcFS& fs, const ProcFSExposedComponent& component)
: ProcFSInode(fs, component) : ProcFSInode(fs, component)
, m_parent_fs(const_cast<ProcFS&>(fs))
{ {
} }
@ -205,17 +204,17 @@ InodeMetadata ProcFSDirectoryInode::metadata() const
} }
KResult ProcFSDirectoryInode::traverse_as_directory(Function<bool(FileSystem::DirectoryEntryView const&)> callback) const KResult ProcFSDirectoryInode::traverse_as_directory(Function<bool(FileSystem::DirectoryEntryView const&)> callback) const
{ {
MutexLocker locker(m_parent_fs.m_lock); MutexLocker locker(fs().m_lock);
return m_associated_component->traverse_as_directory(m_parent_fs.fsid(), move(callback)); return m_associated_component->traverse_as_directory(fs().fsid(), move(callback));
} }
RefPtr<Inode> ProcFSDirectoryInode::lookup(StringView name) RefPtr<Inode> ProcFSDirectoryInode::lookup(StringView name)
{ {
MutexLocker locker(m_parent_fs.m_lock); MutexLocker locker(fs().m_lock);
auto component = m_associated_component->lookup(name); auto component = m_associated_component->lookup(name);
if (!component) if (!component)
return {}; return {};
return component->to_inode(m_parent_fs); return component->to_inode(fs());
} }
NonnullRefPtr<ProcFSLinkInode> ProcFSLinkInode::create(const ProcFS& procfs, const ProcFSExposedComponent& component) NonnullRefPtr<ProcFSLinkInode> ProcFSLinkInode::create(const ProcFS& procfs, const ProcFSExposedComponent& component)

View file

@ -84,14 +84,15 @@ public:
static NonnullRefPtr<ProcFSDirectoryInode> create(const ProcFS&, const ProcFSExposedComponent&); static NonnullRefPtr<ProcFSDirectoryInode> create(const ProcFS&, const ProcFSExposedComponent&);
virtual ~ProcFSDirectoryInode() override; virtual ~ProcFSDirectoryInode() override;
ProcFS& fs() { return static_cast<ProcFS&>(Inode::fs()); }
ProcFS const& fs() const { return static_cast<ProcFS const&>(Inode::fs()); }
protected: protected:
ProcFSDirectoryInode(const ProcFS&, const ProcFSExposedComponent&); ProcFSDirectoryInode(const ProcFS&, const ProcFSExposedComponent&);
// ^Inode // ^Inode
virtual InodeMetadata metadata() const override; virtual InodeMetadata metadata() const override;
virtual KResult traverse_as_directory(Function<bool(FileSystem::DirectoryEntryView const&)>) const override; virtual KResult traverse_as_directory(Function<bool(FileSystem::DirectoryEntryView const&)>) const override;
virtual RefPtr<Inode> lookup(StringView name) override; virtual RefPtr<Inode> lookup(StringView name) override;
ProcFS& m_parent_fs;
}; };
} }