Kernel: Implement InodeFile::stat() and simplify FileDescription::stat()

This commit is contained in:
Max Wipfli 2021-06-07 09:47:21 +02:00 committed by Andreas Kling
parent 675b0aee24
commit cac94b1c16
Notes: sideshowbarker 2024-07-18 12:39:22 +09:00
2 changed files with 1 additions and 3 deletions

View file

@ -110,9 +110,6 @@ Thread::FileBlocker::BlockFlags FileDescription::should_unblock(Thread::FileBloc
KResult FileDescription::stat(::stat& buffer)
{
Locker locker(m_lock);
// FIXME: This is a little awkward, why can't we always forward to File::stat()?
if (m_inode)
return metadata().stat(buffer);
return m_file->stat(buffer);
}

View file

@ -34,6 +34,7 @@ public:
virtual KResultOr<size_t> write(FileDescription&, u64, const UserOrKernelBuffer&, size_t) override;
virtual int ioctl(FileDescription&, unsigned request, FlatPtr arg) override;
virtual KResultOr<Region*> mmap(Process&, FileDescription&, const Range&, u64 offset, int prot, bool shared) override;
virtual KResult stat(::stat& buffer) const override { return inode().metadata().stat(buffer); }
virtual String absolute_path(const FileDescription&) const override;