Kernel: Remove Inode::directory_entry_count()

This was only used in one place: VirtualFileSystem::rmdir(), and that
has now been converted to a simple directory traversal.
This commit is contained in:
Andreas Kling 2021-07-17 22:36:04 +02:00
parent d1bbe8b652
commit b8d6c3722d
Notes: sideshowbarker 2024-07-18 08:51:17 +09:00
15 changed files with 0 additions and 92 deletions

View File

@ -122,11 +122,6 @@ KResult DevFSInode::remove_child(const StringView&)
return EROFS; return EROFS;
} }
KResultOr<size_t> DevFSInode::directory_entry_count() const
{
VERIFY_NOT_REACHED();
}
KResult DevFSInode::chmod(mode_t) KResult DevFSInode::chmod(mode_t)
{ {
return EPERM; return EPERM;
@ -221,12 +216,6 @@ RefPtr<Inode> DevFSDirectoryInode::lookup(StringView)
return nullptr; return nullptr;
} }
KResultOr<size_t> DevFSDirectoryInode::directory_entry_count() const
{
Locker locker(m_inode_lock);
return m_devices.size();
}
DevFSRootDirectoryInode::DevFSRootDirectoryInode(DevFS& fs) DevFSRootDirectoryInode::DevFSRootDirectoryInode(DevFS& fs)
: DevFSDirectoryInode(fs) : DevFSDirectoryInode(fs)
, m_parent_fs(fs) , m_parent_fs(fs)
@ -332,11 +321,6 @@ InodeMetadata DevFSRootDirectoryInode::metadata() const
metadata.mtime = mepoch; metadata.mtime = mepoch;
return metadata; return metadata;
} }
KResultOr<size_t> DevFSRootDirectoryInode::directory_entry_count() const
{
Locker locker(m_parent_fs.m_lock);
return m_devices.size() + DevFSDirectoryInode::directory_entry_count().value();
}
DevFSDeviceInode::DevFSDeviceInode(DevFS& fs, Device const& device, NonnullOwnPtr<KString> name) DevFSDeviceInode::DevFSDeviceInode(DevFS& fs, Device const& device, NonnullOwnPtr<KString> name)
: DevFSInode(fs) : DevFSInode(fs)
@ -429,9 +413,5 @@ InodeMetadata DevFSPtsDirectoryInode::metadata() const
metadata.mtime = mepoch; metadata.mtime = mepoch;
return metadata; return metadata;
} }
KResultOr<size_t> DevFSPtsDirectoryInode::directory_entry_count() const
{
return 0;
}
} }

View File

@ -58,7 +58,6 @@ protected:
virtual KResultOr<NonnullRefPtr<Inode>> create_child(StringView name, mode_t, dev_t, uid_t, gid_t) override; virtual KResultOr<NonnullRefPtr<Inode>> create_child(StringView name, mode_t, dev_t, uid_t, gid_t) override;
virtual KResult add_child(Inode&, const StringView& name, mode_t) override; virtual KResult add_child(Inode&, const StringView& name, mode_t) override;
virtual KResult remove_child(const StringView& name) override; virtual KResult remove_child(const StringView& name) override;
virtual KResultOr<size_t> directory_entry_count() const override;
virtual KResult chmod(mode_t) override; virtual KResult chmod(mode_t) override;
virtual KResult chown(uid_t, gid_t) override; virtual KResult chown(uid_t, gid_t) override;
virtual KResult truncate(u64) override; virtual KResult truncate(u64) override;
@ -119,7 +118,6 @@ protected:
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;
virtual KResultOr<size_t> directory_entry_count() const override;
NonnullRefPtrVector<DevFSDeviceInode> m_devices; NonnullRefPtrVector<DevFSDeviceInode> m_devices;
}; };
@ -137,7 +135,6 @@ private:
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;
virtual InodeMetadata metadata() const override; virtual InodeMetadata metadata() const override;
virtual KResultOr<size_t> directory_entry_count() const override;
}; };
class DevFSRootDirectoryInode final : public DevFSDirectoryInode { class DevFSRootDirectoryInode final : public DevFSDirectoryInode {
@ -153,7 +150,6 @@ private:
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;
virtual InodeMetadata metadata() const override; virtual InodeMetadata metadata() const override;
virtual KResultOr<size_t> directory_entry_count() const override;
NonnullRefPtrVector<DevFSDirectoryInode> m_subfolders; NonnullRefPtrVector<DevFSDirectoryInode> m_subfolders;
NonnullRefPtrVector<DevFSLinkInode> m_links; NonnullRefPtrVector<DevFSLinkInode> m_links;

View File

@ -136,13 +136,6 @@ KResult DevPtsFSInode::traverse_as_directory(Function<bool(FileSystem::Directory
return KSuccess; return KSuccess;
} }
KResultOr<size_t> DevPtsFSInode::directory_entry_count() const
{
VERIFY(identifier().index() == 1);
return 2 + s_ptys->size();
}
RefPtr<Inode> DevPtsFSInode::lookup(StringView name) RefPtr<Inode> DevPtsFSInode::lookup(StringView name)
{ {
VERIFY(identifier().index() == 1); VERIFY(identifier().index() == 1);

View File

@ -56,7 +56,6 @@ private:
virtual KResultOr<NonnullRefPtr<Inode>> create_child(StringView name, mode_t, dev_t, uid_t, gid_t) override; virtual KResultOr<NonnullRefPtr<Inode>> create_child(StringView name, mode_t, dev_t, uid_t, gid_t) override;
virtual KResult add_child(Inode&, const StringView& name, mode_t) override; virtual KResult add_child(Inode&, const StringView& name, mode_t) override;
virtual KResult remove_child(const StringView& name) override; virtual KResult remove_child(const StringView& name) override;
virtual KResultOr<size_t> directory_entry_count() const override;
virtual KResult chmod(mode_t) override; virtual KResult chmod(mode_t) override;
virtual KResult chown(uid_t, gid_t) override; virtual KResult chown(uid_t, gid_t) override;

View File

@ -1709,15 +1709,6 @@ void Ext2FS::uncache_inode(InodeIndex index)
m_inode_cache.remove(index); m_inode_cache.remove(index);
} }
KResultOr<size_t> Ext2FSInode::directory_entry_count() const
{
VERIFY(is_directory());
Locker locker(m_inode_lock);
if (auto result = populate_lookup_cache(); result.is_error())
return KResultOr<size_t>(result);
return m_lookup_cache.size();
}
KResult Ext2FSInode::chmod(mode_t mode) KResult Ext2FSInode::chmod(mode_t mode)
{ {
Locker locker(m_inode_lock); Locker locker(m_inode_lock);

View File

@ -52,7 +52,6 @@ private:
virtual KResult set_mtime(time_t) override; virtual KResult set_mtime(time_t) override;
virtual KResult increment_link_count() override; virtual KResult increment_link_count() override;
virtual KResult decrement_link_count() override; virtual KResult decrement_link_count() override;
virtual KResultOr<size_t> directory_entry_count() const override;
virtual KResult chmod(mode_t) override; virtual KResult chmod(mode_t) override;
virtual KResult chown(uid_t, gid_t) override; virtual KResult chown(uid_t, gid_t) override;
virtual KResult truncate(u64) override; virtual KResult truncate(u64) override;

View File

@ -59,7 +59,6 @@ public:
virtual KResultOr<NonnullRefPtr<Inode>> create_child(StringView name, mode_t, dev_t, uid_t, gid_t) = 0; virtual KResultOr<NonnullRefPtr<Inode>> create_child(StringView name, mode_t, dev_t, uid_t, gid_t) = 0;
virtual KResult add_child(Inode&, const StringView& name, mode_t) = 0; virtual KResult add_child(Inode&, const StringView& name, mode_t) = 0;
virtual KResult remove_child(const StringView& name) = 0; virtual KResult remove_child(const StringView& name) = 0;
virtual KResultOr<size_t> directory_entry_count() const = 0;
virtual KResult chmod(mode_t) = 0; virtual KResult chmod(mode_t) = 0;
virtual KResult chown(uid_t, gid_t) = 0; virtual KResult chown(uid_t, gid_t) = 0;
virtual KResult truncate(u64) { return KSuccess; } virtual KResult truncate(u64) { return KSuccess; }

View File

@ -851,20 +851,6 @@ void Plan9FSInode::flush_metadata()
// Do nothing. // Do nothing.
} }
KResultOr<size_t> Plan9FSInode::directory_entry_count() const
{
size_t count = 0;
KResult result = traverse_as_directory([&count](auto&) {
count++;
return true;
});
if (result.is_error())
return result;
return count;
}
KResult Plan9FSInode::traverse_as_directory(Function<bool(FileSystem::DirectoryEntryView const&)> callback) const KResult Plan9FSInode::traverse_as_directory(Function<bool(FileSystem::DirectoryEntryView const&)> callback) const
{ {
KResult result = KSuccess; KResult result = KSuccess;

View File

@ -163,7 +163,6 @@ public:
virtual KResultOr<NonnullRefPtr<Inode>> create_child(StringView name, mode_t, dev_t, uid_t, gid_t) override; virtual KResultOr<NonnullRefPtr<Inode>> create_child(StringView name, mode_t, dev_t, uid_t, gid_t) override;
virtual KResult add_child(Inode&, const StringView& name, mode_t) override; virtual KResult add_child(Inode&, const StringView& name, mode_t) override;
virtual KResult remove_child(const StringView& name) override; virtual KResult remove_child(const StringView& name) override;
virtual KResultOr<size_t> directory_entry_count() const override;
virtual KResult chmod(mode_t) override; virtual KResult chmod(mode_t) override;
virtual KResult chown(uid_t, gid_t) override; virtual KResult chown(uid_t, gid_t) override;
virtual KResult truncate(u64) override; virtual KResult truncate(u64) override;

View File

@ -173,11 +173,6 @@ KResult ProcFSInode::remove_child(const StringView&)
return EROFS; return EROFS;
} }
KResultOr<size_t> ProcFSInode::directory_entry_count() const
{
VERIFY_NOT_REACHED();
}
KResult ProcFSInode::chmod(mode_t) KResult ProcFSInode::chmod(mode_t)
{ {
return EPERM; return EPERM;
@ -234,12 +229,6 @@ RefPtr<Inode> ProcFSDirectoryInode::lookup(StringView name)
return component->to_inode(m_parent_fs); return component->to_inode(m_parent_fs);
} }
KResultOr<size_t> ProcFSDirectoryInode::directory_entry_count() const
{
Locker locker(m_inode_lock);
return m_associated_component->entries_count();
}
NonnullRefPtr<ProcFSLinkInode> ProcFSLinkInode::create(const ProcFS& procfs, const ProcFSExposedComponent& component) NonnullRefPtr<ProcFSLinkInode> ProcFSLinkInode::create(const ProcFS& procfs, const ProcFSExposedComponent& component)
{ {
return adopt_ref(*new (nothrow) ProcFSLinkInode(procfs, component)); return adopt_ref(*new (nothrow) ProcFSLinkInode(procfs, component));

View File

@ -59,7 +59,6 @@ protected:
virtual KResult add_child(Inode&, const StringView& name, mode_t) override; virtual KResult add_child(Inode&, const StringView& name, mode_t) override;
virtual KResult remove_child(const StringView& name) override; virtual KResult remove_child(const StringView& name) override;
virtual void did_seek(FileDescription&, off_t) override; virtual void did_seek(FileDescription&, off_t) override;
virtual KResultOr<size_t> directory_entry_count() const override;
virtual KResult chmod(mode_t) override; virtual KResult chmod(mode_t) override;
virtual KResult chown(uid_t, gid_t) override; virtual KResult chown(uid_t, gid_t) override;
virtual KResult truncate(u64) override; virtual KResult truncate(u64) override;
@ -91,7 +90,6 @@ protected:
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;
virtual KResultOr<size_t> directory_entry_count() const override;
ProcFS& m_parent_fs; ProcFS& m_parent_fs;
}; };

View File

@ -145,11 +145,6 @@ KResult SysFSInode::remove_child(StringView const&)
return EROFS; return EROFS;
} }
KResultOr<size_t> SysFSInode::directory_entry_count() const
{
VERIFY_NOT_REACHED();
}
KResult SysFSInode::chmod(mode_t) KResult SysFSInode::chmod(mode_t)
{ {
return EPERM; return EPERM;
@ -206,10 +201,4 @@ RefPtr<Inode> SysFSDirectoryInode::lookup(StringView name)
return component->to_inode(m_parent_fs); return component->to_inode(m_parent_fs);
} }
KResultOr<size_t> SysFSDirectoryInode::directory_entry_count() const
{
Locker locker(m_inode_lock);
return m_associated_component->entries_count();
}
} }

View File

@ -78,7 +78,6 @@ protected:
virtual KResultOr<NonnullRefPtr<Inode>> create_child(StringView name, mode_t, dev_t, uid_t, gid_t) override; virtual KResultOr<NonnullRefPtr<Inode>> create_child(StringView name, mode_t, dev_t, uid_t, gid_t) override;
virtual KResult add_child(Inode&, StringView const& name, mode_t) override; virtual KResult add_child(Inode&, StringView const& name, mode_t) override;
virtual KResult remove_child(StringView const& name) override; virtual KResult remove_child(StringView const& name) override;
virtual KResultOr<size_t> directory_entry_count() const override;
virtual KResult chmod(mode_t) override; virtual KResult chmod(mode_t) override;
virtual KResult chown(uid_t, gid_t) override; virtual KResult chown(uid_t, gid_t) override;
virtual KResult truncate(u64) override; virtual KResult truncate(u64) override;
@ -99,7 +98,6 @@ protected:
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;
virtual KResultOr<size_t> directory_entry_count() const override;
SysFS& m_parent_fs; SysFS& m_parent_fs;
}; };

View File

@ -212,13 +212,6 @@ RefPtr<Inode> TmpFSInode::lookup(StringView name)
return fs().get_inode(it->value.inode->identifier()); return fs().get_inode(it->value.inode->identifier());
} }
KResultOr<size_t> TmpFSInode::directory_entry_count() const
{
Locker locker(m_inode_lock, Mutex::Mode::Shared);
VERIFY(is_directory());
return 2 + m_children.size();
}
void TmpFSInode::notify_watchers() void TmpFSInode::notify_watchers()
{ {
set_metadata_dirty(true); set_metadata_dirty(true);

View File

@ -63,7 +63,6 @@ public:
virtual KResultOr<NonnullRefPtr<Inode>> create_child(StringView name, mode_t, dev_t, uid_t, gid_t) override; virtual KResultOr<NonnullRefPtr<Inode>> create_child(StringView name, mode_t, dev_t, uid_t, gid_t) override;
virtual KResult add_child(Inode&, const StringView& name, mode_t) override; virtual KResult add_child(Inode&, const StringView& name, mode_t) override;
virtual KResult remove_child(const StringView& name) override; virtual KResult remove_child(const StringView& name) override;
virtual KResultOr<size_t> directory_entry_count() const override;
virtual KResult chmod(mode_t) override; virtual KResult chmod(mode_t) override;
virtual KResult chown(uid_t, gid_t) override; virtual KResult chown(uid_t, gid_t) override;
virtual KResult truncate(u64) override; virtual KResult truncate(u64) override;