Add ph_blk_offset during every blockdev bread/bwrite
[lwext4.git] / lwext4 / ext4_dir_idx.c
index b3577ddd7678130dac455cbbabd33c59e4a1033c..1b78905c1d2d0d5e2095c1213510906b46d43386 100644 (file)
@@ -205,7 +205,7 @@ static int ext4_dir_dx_hash_string(struct ext4_hash_info *hinfo, int len,
 #if CONFIG_META_CSUM_ENABLE
 static uint32_t ext4_dir_dx_checksum(struct ext4_inode_ref *inode_ref, void *de,
                                     int count_offset, int count,
-                                    struct ext4_dir_idx_tail *t)
+                                    struct ext4_dir_idx_tail *t)
 {
        uint32_t orig_cum, csum = 0;
        struct ext4_sblock *sb = &inode_ref->fs->sb;
@@ -425,7 +425,7 @@ int ext4_dir_dx_init(struct ext4_inode_ref *dir, struct ext4_inode_ref *parent)
 
        ext4_dir_en_set_inode(be, 0);
 
-       new_block.dirty = true;
+       ext4_bcache_set_dirty(new_block.buf);
        rc = ext4_block_set(dir->fs->bdev, &new_block);
        if (rc != EOK) {
                ext4_block_set(dir->fs->bdev, &block);
@@ -437,7 +437,7 @@ int ext4_dir_dx_init(struct ext4_inode_ref *dir, struct ext4_inode_ref *parent)
        ext4_dir_dx_entry_set_block(entry, iblock);
 
        ext4_dir_set_dx_csum(dir, (struct ext4_dir_en *)block.data);
-       block.dirty = true;
+       ext4_bcache_set_dirty(block.buf);
 
        return ext4_block_set(dir->fs->bdev, &block);
 }
@@ -897,7 +897,7 @@ ext4_dir_dx_insert_entry(struct ext4_inode_ref *inode_ref __unused,
        ext4_dir_dx_entry_set_hash(new_index_entry, hash);
        ext4_dir_dx_climit_set_count(climit, count + 1);
        ext4_dir_set_dx_csum(inode_ref, (void *)index_block->b.data);
-       index_block->b.dirty = true;
+       ext4_bcache_set_dirty(index_block->b.buf);
 }
 
 /**@brief Split directory entries to two parts preventing node overflow.
@@ -1073,8 +1073,8 @@ static int ext4_dir_dx_split_data(struct ext4_inode_ref *inode_ref,
        }
        ext4_dir_set_csum(inode_ref, (void *)old_data_block->data);
        ext4_dir_set_csum(inode_ref, (void *)new_data_block_tmp.data);
-       old_data_block->dirty = true;
-       new_data_block_tmp.dirty = true;
+       ext4_bcache_set_dirty(old_data_block->buf);
+       ext4_bcache_set_dirty(new_data_block_tmp.buf);
 
        free(sort);
        free(entry_buffer);
@@ -1187,7 +1187,7 @@ ext4_dir_dx_split_index(struct ext4_inode_ref *ino_ref,
                                                ino_ref,
                                                (struct ext4_dir_en *)
                                                dxb->b.data);
-                               dxb->b.dirty = true;
+                               ext4_bcache_set_dirty(dxb->b.buf);
 
                                struct ext4_block block_tmp = dxb->b;
 
@@ -1203,13 +1203,13 @@ ext4_dir_dx_split_index(struct ext4_inode_ref *ino_ref,
                        /* Finally insert new entry */
                        ext4_dir_dx_insert_entry(ino_ref, dx_blks, hash_right,
                                                 new_iblk);
-                       ext4_dir_set_dx_csum(ino_ref, (void *)dx_blks[0].b.data);
-                       ext4_dir_set_dx_csum(ino_ref, (void *)dx_blks[1].b.data);
-                       dx_blks[0].b.dirty = true;
-                       dx_blks[1].b.dirty = true;
+                       ext4_dir_set_dx_csum(ino_ref, (void*)dx_blks[0].b.data);
+                       ext4_dir_set_dx_csum(ino_ref, (void*)dx_blks[1].b.data);
+                       ext4_bcache_set_dirty(dx_blks[0].b.buf);
+                       ext4_bcache_set_dirty(dx_blks[1].b.buf);
 
                        ext4_dir_set_dx_csum(ino_ref, (void *)b.data);
-                       b.dirty = true;
+                       ext4_bcache_set_dirty(b.buf);
                        return ext4_block_set(ino_ref->fs->bdev, &b);
                } else {
                        size_t sz;
@@ -1239,10 +1239,10 @@ ext4_dir_dx_split_index(struct ext4_inode_ref *ino_ref,
                        dxb->b = b;
                        *new_dx_block = dxb;
 
-                       ext4_dir_set_dx_csum(ino_ref, (void *)dx_blks[0].b.data);
-                       ext4_dir_set_dx_csum(ino_ref, (void *)dx_blks[1].b.data);
-                       dx_blks[0].b.dirty = true;
-                       dx_blks[1].b.dirty = true;
+                       ext4_dir_set_dx_csum(ino_ref, (void*)dx_blks[0].b.data);
+                       ext4_dir_set_dx_csum(ino_ref, (void*)dx_blks[1].b.data);
+                       ext4_bcache_set_dirty(dx_blks[0].b.buf);
+                       ext4_bcache_set_dirty(dx_blks[1].b.buf);
                }
        }
 
@@ -1414,7 +1414,7 @@ int ext4_dir_dx_reset_parent_inode(struct ext4_inode_ref *dir,
        ext4_dx_dot_en_set_inode(&root->dots[1], parent_inode);
 
        ext4_dir_set_dx_csum(dir, (void *)block.data);
-       block.dirty = true;
+       ext4_bcache_set_dirty(block.buf);
 
        return ext4_block_set(dir->fs->bdev, &block);
 }