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

Parse out major/minor device from character and block device inodes.

This commit is contained in:
Andreas Kling 2018-10-14 02:24:12 +02:00
parent 03a0dc0103
commit fa3b11ac64
4 changed files with 21 additions and 1 deletions

View file

@ -186,6 +186,12 @@ InodeMetadata Ext2FileSystem::inodeMetadata(InodeIdentifier inode) const
metadata.ctime = e2inode->i_ctime;
metadata.mtime = e2inode->i_mtime;
metadata.dtime = e2inode->i_dtime;
if (isBlockDevice(e2inode->i_mode) || isCharacterDevice(e2inode->i_mode)) {
unsigned dev = e2inode->i_block[0];
metadata.majorDevice = (dev & 0xfff00) >> 8;
metadata.minorDevice= (dev & 0xff) | ((dev >> 12) & 0xfff00);
}
return metadata;
}