Revert "ext4: make sure blocks are not contaminated with data in block cache."
[lwext4.git] / lwext4 / ext4_balloc.h
index f10a6bc6f557d6419d0875b4c0b00c335d1ee727..f2c3dc9cd6fc895c5f8f658b808c58a772fc645a 100644 (file)
@@ -1,7 +1,6 @@
 /*
  * Copyright (c) 2013 Grzegorz Kostka (kostka.grzegorz@gmail.com)
  *
- *
  * HelenOS:
  * Copyright (c) 2012 Martin Sucha
  * Copyright (c) 2012 Frantisek Princ
 #ifndef EXT4_BALLOC_H_
 #define EXT4_BALLOC_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include "ext4_config.h"
 #include "ext4_types.h"
 
@@ -62,20 +65,31 @@ uint32_t ext4_balloc_get_bgid_of_block(struct ext4_sblock *s,
  * @return Block address
  */
 ext4_fsblk_t ext4_balloc_get_block_of_bgid(struct ext4_sblock *s,
-                                      uint32_t bgid);
+                                          uint32_t bgid);
+
+/**@brief Calculate and set checksum of block bitmap.
+ * @param sb superblock pointer.
+ * @param bg block group
+ * @param bitmap bitmap buffer
+ */
+void ext4_balloc_set_bitmap_csum(struct ext4_sblock *sb,
+                                struct ext4_bgroup *bg,
+                                void *bitmap);
 
 /**@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, ext4_fsblk_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
+ * @param   first block address
+ * @param   count block count
  * @return  standard error code*/
-int ext4_balloc_free_blocks(struct ext4_inode_ref *inode_ref, ext4_fsblk_t first,
-                           uint32_t count);
+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
@@ -94,6 +108,10 @@ int ext4_balloc_alloc_block(struct ext4_inode_ref *inode_ref,
 int ext4_balloc_try_alloc_block(struct ext4_inode_ref *inode_ref,
                                ext4_fsblk_t baddr, bool *free);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* EXT4_BALLOC_H_ */
 
 /**