提交 e52ec0eb 编写于 作者: C Chris Mason

Btrfs: Fix NULL block groups on reading the inode

Signed-off-by: NChris Mason <chris.mason@oracle.com>
上级 edbd8d4e
......@@ -1630,11 +1630,11 @@ int btrfs_alloc_extent(struct btrfs_trans_handle *trans,
struct btrfs_path *path;
btrfs_set_stack_extent_refs(&extent_item, 1);
#if 0
new_hint = max(hint_byte, 16ULL * 1024 * 1024 * 1024);
if (new_hint < btrfs_super_total_bytes(&info->super_copy))
hint_byte = new_hint;
#endif
WARN_ON(num_bytes < root->sectorsize);
ret = find_free_extent(trans, root, num_bytes, empty_size,
search_start, search_end, hint_byte, ins,
......
......@@ -402,6 +402,10 @@ void btrfs_read_locked_inode(struct inode *inode)
BTRFS_I(inode)->block_group = btrfs_lookup_block_group(root->fs_info,
alloc_group_block);
if (!BTRFS_I(inode)->block_group) {
BTRFS_I(inode)->block_group = btrfs_find_block_group(root,
NULL, 0, 0, 0);
}
btrfs_free_path(path);
inode_item = NULL;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册