Multiple fixes related to basic block type
[lwext4.git] / lwext4 / ext4_balloc.h
index b3c84885841b281cf1cc5188f2033130d504e5ae..f10a6bc6f557d6419d0875b4c0b00c335d1ee727 100644 (file)
  * @return Block group index
  */
 uint32_t ext4_balloc_get_bgid_of_block(struct ext4_sblock *s,
-                                      uint32_t baddr);
+                                      ext4_fsblk_t baddr);
 
 /**@brief Compute the starting block address of a block group
  * @param sb   superblock pointer.
  * @param bgid block group index
  * @return Block address
  */
-uint32_t ext4_balloc_get_block_of_bgid(struct ext4_sblock *s,
+ext4_fsblk_t ext4_balloc_get_block_of_bgid(struct ext4_sblock *s,
                                       uint32_t bgid);
 
 /**@brief   Free block from inode.
  * @param   inode_ref inode reference
  * @param   baddr block address
  * @return  standard error code*/
-int ext4_balloc_free_block(struct ext4_inode_ref *inode_ref, uint32_t baddr);
+int ext4_balloc_free_block(struct ext4_inode_ref *inode_ref, ext4_fsblk_t baddr);
 
 /**@brief   Free blocks from inode.
  * @param   inode_ref inode reference
  * @param   baddr block address
  * @return  standard error code*/
-int ext4_balloc_free_blocks(struct ext4_inode_ref *inode_ref, uint32_t first,
+int ext4_balloc_free_blocks(struct ext4_inode_ref *inode_ref, ext4_fsblk_t first,
                            uint32_t count);
 
 /**@brief   Allocate block procedure.
  * @param   inode_ref inode reference
+ * @param   goal
  * @param   baddr allocated block address
  * @return  standard error code*/
-int ext4_balloc_alloc_block(struct ext4_inode_ref *inode_ref, uint32_t *baddr);
+int ext4_balloc_alloc_block(struct ext4_inode_ref *inode_ref,
+                           ext4_fsblk_t goal,
+                           ext4_fsblk_t *baddr);
 
 /**@brief   Try allocate selected block.
  * @param   inode_ref inode reference
@@ -89,7 +92,7 @@ int ext4_balloc_alloc_block(struct ext4_inode_ref *inode_ref, uint32_t *baddr);
  * @param   free if baddr is not allocated
  * @return  standard error code*/
 int ext4_balloc_try_alloc_block(struct ext4_inode_ref *inode_ref,
-                               uint32_t baddr, bool *free);
+                               ext4_fsblk_t baddr, bool *free);
 
 #endif /* EXT4_BALLOC_H_ */