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
Notes: sideshowbarker 2024-07-18 22:43:13 +09:00
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);