diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 97baf00b40d103ad59387d42679ebda8db29f465..0808f483dafafde4c52dc59f1a52968823cc4880 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -3171,7 +3171,7 @@ int btrfs_unlink_subvol(struct btrfs_trans_handle *trans,
 	btrfs_i_size_write(dir, dir->i_size - name_len * 2);
 	inode_inc_iversion(dir);
 	dir->i_mtime = dir->i_ctime = CURRENT_TIME;
-	ret = btrfs_update_inode(trans, root, dir);
+	ret = btrfs_update_inode_fallback(trans, root, dir);
 	if (ret)
 		btrfs_abort_transaction(trans, root, ret);
 out: