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

Kernel: Add FIBMAP ioctl to Ext2FileSystem

FIBMAP is a linux ioctl that gives the location on disk of a specific
block of a file
This commit is contained in:
Peter Elliott 2021-01-30 13:12:49 -07:00 committed by Andreas Kling
parent e8aae033f1
commit c0e88b9710
6 changed files with 53 additions and 1 deletions

View file

@ -1694,6 +1694,19 @@ KResult Ext2FSInode::truncate(u64 size)
return KSuccess;
}
KResultOr<int> Ext2FSInode::get_block_address(int index)
{
LOCKER(m_lock);
if (m_block_list.is_empty())
m_block_list = fs().block_list_for_inode(m_raw_inode);
if (index < 0 || (size_t)index >= m_block_list.size())
return 0;
return m_block_list[index];
}
unsigned Ext2FS::total_block_count() const
{
LOCKER(m_lock);