|
@@ -725,6 +725,10 @@ repeat_in_this_group:
|
|
"inode=%lu", ino + 1);
|
|
"inode=%lu", ino + 1);
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
+ BUFFER_TRACE(inode_bitmap_bh, "get_write_access");
|
|
|
|
+ err = ext4_journal_get_write_access(handle, inode_bitmap_bh);
|
|
|
|
+ if (err)
|
|
|
|
+ goto fail;
|
|
ext4_lock_group(sb, group);
|
|
ext4_lock_group(sb, group);
|
|
ret2 = ext4_test_and_set_bit(ino, inode_bitmap_bh->b_data);
|
|
ret2 = ext4_test_and_set_bit(ino, inode_bitmap_bh->b_data);
|
|
ext4_unlock_group(sb, group);
|
|
ext4_unlock_group(sb, group);
|
|
@@ -738,6 +742,11 @@ repeat_in_this_group:
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
got:
|
|
got:
|
|
|
|
+ BUFFER_TRACE(inode_bitmap_bh, "call ext4_handle_dirty_metadata");
|
|
|
|
+ err = ext4_handle_dirty_metadata(handle, NULL, inode_bitmap_bh);
|
|
|
|
+ if (err)
|
|
|
|
+ goto fail;
|
|
|
|
+
|
|
/* We may have to initialize the block bitmap if it isn't already */
|
|
/* We may have to initialize the block bitmap if it isn't already */
|
|
if (ext4_has_group_desc_csum(sb) &&
|
|
if (ext4_has_group_desc_csum(sb) &&
|
|
gdp->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) {
|
|
gdp->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) {
|
|
@@ -771,11 +780,6 @@ got:
|
|
goto fail;
|
|
goto fail;
|
|
}
|
|
}
|
|
|
|
|
|
- BUFFER_TRACE(inode_bitmap_bh, "get_write_access");
|
|
|
|
- err = ext4_journal_get_write_access(handle, inode_bitmap_bh);
|
|
|
|
- if (err)
|
|
|
|
- goto fail;
|
|
|
|
-
|
|
|
|
BUFFER_TRACE(group_desc_bh, "get_write_access");
|
|
BUFFER_TRACE(group_desc_bh, "get_write_access");
|
|
err = ext4_journal_get_write_access(handle, group_desc_bh);
|
|
err = ext4_journal_get_write_access(handle, group_desc_bh);
|
|
if (err)
|
|
if (err)
|
|
@@ -823,11 +827,6 @@ got:
|
|
}
|
|
}
|
|
ext4_unlock_group(sb, group);
|
|
ext4_unlock_group(sb, group);
|
|
|
|
|
|
- BUFFER_TRACE(inode_bitmap_bh, "call ext4_handle_dirty_metadata");
|
|
|
|
- err = ext4_handle_dirty_metadata(handle, NULL, inode_bitmap_bh);
|
|
|
|
- if (err)
|
|
|
|
- goto fail;
|
|
|
|
-
|
|
|
|
BUFFER_TRACE(group_desc_bh, "call ext4_handle_dirty_metadata");
|
|
BUFFER_TRACE(group_desc_bh, "call ext4_handle_dirty_metadata");
|
|
err = ext4_handle_dirty_metadata(handle, NULL, group_desc_bh);
|
|
err = ext4_handle_dirty_metadata(handle, NULL, group_desc_bh);
|
|
if (err)
|
|
if (err)
|