Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6379ef9f authored by Naohiro Aota's avatar Naohiro Aota Committed by Chris Mason
Browse files

btrfs: Drop inode if inode root is NULL



There is a path where btrfs_drop_inode() is called with its inode's root
is NULL: In btrfs_new_inode(), when btrfs_set_inode_index() fails,
iput() is called. We should handle this case before taking look at the
root->root_item.

Signed-off-by: default avatarNaohiro Aota <naota@elisp.net>
Reviewed-by: default avatarMiao Xie <miaox@cn.fujitsu.com>
Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
parent 7b5ff90e
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -8011,6 +8011,9 @@ int btrfs_drop_inode(struct inode *inode)
{
	struct btrfs_root *root = BTRFS_I(inode)->root;

	if (root == NULL)
		return 1;

	/* the snap/subvol tree is on deleting */
	if (btrfs_root_refs(&root->root_item) == 0 &&
	    root != root->fs_info->tree_root)