mirror of
https://github.com/RGBCube/serenity
synced 2025-05-14 19:14:58 +00:00
Add metadata to CoreInode.
This commit is contained in:
parent
10c470e95f
commit
26852a8363
5 changed files with 42 additions and 25 deletions
|
@ -320,6 +320,28 @@ Ext2Inode::~Ext2Inode()
|
|||
{
|
||||
}
|
||||
|
||||
void Ext2Inode::populate_metadata() const
|
||||
{
|
||||
m_metadata.inode = identifier();
|
||||
m_metadata.size = m_raw_inode.i_size;
|
||||
m_metadata.mode = m_raw_inode.i_mode;
|
||||
m_metadata.uid = m_raw_inode.i_uid;
|
||||
m_metadata.gid = m_raw_inode.i_gid;
|
||||
m_metadata.linkCount = m_raw_inode.i_links_count;
|
||||
m_metadata.atime = m_raw_inode.i_atime;
|
||||
m_metadata.ctime = m_raw_inode.i_ctime;
|
||||
m_metadata.mtime = m_raw_inode.i_mtime;
|
||||
m_metadata.dtime = m_raw_inode.i_dtime;
|
||||
m_metadata.blockSize = fs().blockSize();
|
||||
m_metadata.blockCount = m_raw_inode.i_blocks;
|
||||
|
||||
if (isBlockDevice(m_raw_inode.i_mode) || isCharacterDevice(m_raw_inode.i_mode)) {
|
||||
unsigned dev = m_raw_inode.i_block[0];
|
||||
m_metadata.majorDevice = (dev & 0xfff00) >> 8;
|
||||
m_metadata.minorDevice= (dev & 0xff) | ((dev >> 12) & 0xfff00);
|
||||
}
|
||||
}
|
||||
|
||||
RetainPtr<CoreInode> Ext2FileSystem::get_inode(InodeIdentifier inode)
|
||||
{
|
||||
ASSERT(inode.fileSystemID() == id());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue