|
@@ -1270,6 +1270,14 @@ extern struct ext4_group_desc * ext4_get_group_desc(struct super_block * sb,
|
|
|
ext4_group_t block_group,
|
|
|
struct buffer_head ** bh);
|
|
|
extern int ext4_should_retry_alloc(struct super_block *sb, int *retries);
|
|
|
+struct buffer_head *ext4_read_block_bitmap(struct super_block *sb,
|
|
|
+ ext4_group_t block_group);
|
|
|
+extern unsigned ext4_init_block_bitmap(struct super_block *sb,
|
|
|
+ struct buffer_head *bh,
|
|
|
+ ext4_group_t group,
|
|
|
+ struct ext4_group_desc *desc);
|
|
|
+#define ext4_free_blocks_after_init(sb, group, desc) \
|
|
|
+ ext4_init_block_bitmap(sb, NULL, group, desc)
|
|
|
|
|
|
/* dir.c */
|
|
|
extern int ext4_check_dir_entry(const char *, struct inode *,
|
|
@@ -1294,6 +1302,11 @@ extern struct inode * ext4_orphan_get(struct super_block *, unsigned long);
|
|
|
extern unsigned long ext4_count_free_inodes(struct super_block *);
|
|
|
extern unsigned long ext4_count_dirs(struct super_block *);
|
|
|
extern void ext4_check_inodes_bitmap(struct super_block *);
|
|
|
+extern unsigned ext4_init_inode_bitmap(struct super_block *sb,
|
|
|
+ struct buffer_head *bh,
|
|
|
+ ext4_group_t group,
|
|
|
+ struct ext4_group_desc *desc);
|
|
|
+extern void mark_bitmap_end(int start_bit, int end_bit, char *bitmap);
|
|
|
|
|
|
/* mballoc.c */
|
|
|
extern long ext4_mb_stats;
|
|
@@ -1417,6 +1430,10 @@ extern void ext4_used_dirs_set(struct super_block *sb,
|
|
|
struct ext4_group_desc *bg, __u32 count);
|
|
|
extern void ext4_itable_unused_set(struct super_block *sb,
|
|
|
struct ext4_group_desc *bg, __u32 count);
|
|
|
+extern __le16 ext4_group_desc_csum(struct ext4_sb_info *sbi, __u32 group,
|
|
|
+ struct ext4_group_desc *gdp);
|
|
|
+extern int ext4_group_desc_csum_verify(struct ext4_sb_info *sbi, __u32 group,
|
|
|
+ struct ext4_group_desc *gdp);
|
|
|
|
|
|
static inline ext4_fsblk_t ext4_blocks_count(struct ext4_super_block *es)
|
|
|
{
|