mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 06:58:11 +00:00
Add metadata to CoreInode.
This commit is contained in:
parent
10c470e95f
commit
26852a8363
5 changed files with 42 additions and 25 deletions
|
@ -23,11 +23,13 @@ class CoreInode : public Retainable<CoreInode> {
|
|||
public:
|
||||
virtual ~CoreInode();
|
||||
|
||||
FileSystem& fs() const { return m_fs; }
|
||||
FileSystem& fs() { return m_fs; }
|
||||
const FileSystem& fs() const { return m_fs; }
|
||||
unsigned fsid() const;
|
||||
unsigned index() const { return m_index; }
|
||||
|
||||
InodeIdentifier identifier() const { return { fsid(), index() }; }
|
||||
const InodeMetadata& metadata() const { if (!m_metadata.isValid()) { populate_metadata(); } return m_metadata; }
|
||||
|
||||
virtual Unix::ssize_t read_bytes(Unix::off_t, Unix::size_t, byte* buffer, FileDescriptor*) = 0;
|
||||
|
||||
|
@ -38,6 +40,9 @@ protected:
|
|||
{
|
||||
}
|
||||
|
||||
virtual void populate_metadata() const = 0;
|
||||
|
||||
mutable InodeMetadata m_metadata;
|
||||
private:
|
||||
FileSystem& m_fs;
|
||||
unsigned m_index { 0 };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue