static inline uint32_t ext4_fs_addr_to_idx_bg(struct ext4_sblock *s,
ext4_fsblk_t baddr)
{
- if (ext4_get32(s, first_data_block))
+ if (ext4_get32(s, first_data_block) && baddr)
baddr--;
return baddr % ext4_get32(s, blocks_per_group);
* @return Error code
*/
int ext4_fs_get_inode_dblk_idx(struct ext4_inode_ref *inode_ref,
- uint64_t iblock, ext4_fsblk_t *fblock,
+ ext4_lblk_t iblock, ext4_fsblk_t *fblock,
bool support_unwritten);
/**@brief Initialize a part of unwritten range of the inode.
* @return Error code
*/
int ext4_fs_init_inode_dblk_idx(struct ext4_inode_ref *inode_ref,
- uint64_t iblock, ext4_fsblk_t *fblock);
+ ext4_lblk_t iblock, ext4_fsblk_t *fblock);
/**@brief Append following logical block to the i-node.
* @param inode_ref I-node to append block to
* @return Error code
*/
int ext4_fs_append_inode_dblk(struct ext4_inode_ref *inode_ref,
- ext4_fsblk_t *fblock, uint32_t *iblock);
+ ext4_fsblk_t *fblock, ext4_lblk_t *iblock);
/**@brief Increment inode link count.
* @param inode none handle