diff options
| -rw-r--r-- | fs/btrfs/disk-io.c | 2 | ||||
| -rw-r--r-- | fs/btrfs/inode.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index b3fc8475870..5cf3aa7b125 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
| @@ -1724,6 +1724,8 @@ struct btrfs_root *open_ctree(struct super_block *sb, | |||
| 1724 | goto fail_bdi; | 1724 | goto fail_bdi; |
| 1725 | } | 1725 | } |
| 1726 | 1726 | ||
| 1727 | fs_info->btree_inode->i_mapping->flags &= ~__GFP_FS; | ||
| 1728 | |||
| 1727 | INIT_RADIX_TREE(&fs_info->fs_roots_radix, GFP_ATOMIC); | 1729 | INIT_RADIX_TREE(&fs_info->fs_roots_radix, GFP_ATOMIC); |
| 1728 | INIT_LIST_HEAD(&fs_info->trans_list); | 1730 | INIT_LIST_HEAD(&fs_info->trans_list); |
| 1729 | INIT_LIST_HEAD(&fs_info->dead_roots); | 1731 | INIT_LIST_HEAD(&fs_info->dead_roots); |
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 04babaf31a3..06274186b29 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
| @@ -2536,6 +2536,8 @@ static void btrfs_read_locked_inode(struct inode *inode) | |||
| 2536 | BTRFS_I(inode)->flags = btrfs_inode_flags(leaf, inode_item); | 2536 | BTRFS_I(inode)->flags = btrfs_inode_flags(leaf, inode_item); |
| 2537 | 2537 | ||
| 2538 | alloc_group_block = btrfs_inode_block_group(leaf, inode_item); | 2538 | alloc_group_block = btrfs_inode_block_group(leaf, inode_item); |
| 2539 | if (location.objectid == BTRFS_FREE_SPACE_OBJECTID) | ||
| 2540 | inode->i_mapping->flags &= ~__GFP_FS; | ||
| 2539 | 2541 | ||
| 2540 | /* | 2542 | /* |
| 2541 | * try to precache a NULL acl entry for files that don't have | 2543 | * try to precache a NULL acl entry for files that don't have |
| @@ -4084,7 +4086,6 @@ struct inode *btrfs_iget(struct super_block *s, struct btrfs_key *location, | |||
| 4084 | BTRFS_I(inode)->root = root; | 4086 | BTRFS_I(inode)->root = root; |
| 4085 | memcpy(&BTRFS_I(inode)->location, location, sizeof(*location)); | 4087 | memcpy(&BTRFS_I(inode)->location, location, sizeof(*location)); |
| 4086 | btrfs_read_locked_inode(inode); | 4088 | btrfs_read_locked_inode(inode); |
| 4087 | |||
| 4088 | inode_tree_add(inode); | 4089 | inode_tree_add(inode); |
| 4089 | unlock_new_inode(inode); | 4090 | unlock_new_inode(inode); |
| 4090 | if (new) | 4091 | if (new) |
