1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 04:48:14 +00:00

Kernel: Make Inode::directory_entry_count errors observable.

Certain implementations of Inode::directory_entry_count were calling
functions which returned errors, but had no way of surfacing them.
Switch the return type to KResultOr<size_t> and start observing these
error paths.
This commit is contained in:
Brian Gianforcaro 2020-08-05 01:00:18 -07:00 committed by Andreas Kling
parent 7490ea9449
commit e8c9b5e870
12 changed files with 29 additions and 17 deletions

View file

@ -794,13 +794,17 @@ void Plan9FSInode::flush_metadata()
// Do nothing.
}
size_t Plan9FSInode::directory_entry_count() const
KResultOr<size_t> Plan9FSInode::directory_entry_count() const
{
size_t count = 0;
traverse_as_directory([&count](const FS::DirectoryEntry&) {
KResult result = traverse_as_directory([&count](const FS::DirectoryEntry&) {
count++;
return true;
});
if (result.is_error())
return result;
return count;
}