aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent_map.c
diff options
context:
space:
mode:
authorLiu Bo <bo.li.liu@oracle.com>2018-01-05 12:51:17 -0700
committerDavid Sterba <dsterba@suse.com>2018-01-22 16:08:22 +0100
commit5f4791f4a6479cdeb8caae1a3e5895c8a6e99c09 (patch)
treeed7fa36a5aa0360dcddea7882eba8f6e52038f37 /fs/btrfs/extent_map.c
parentBtrfs: add WARN_ONCE to detect unexpected error from merge_extent_mapping (diff)
downloadlinux-dev-5f4791f4a6479cdeb8caae1a3e5895c8a6e99c09.tar.xz
linux-dev-5f4791f4a6479cdeb8caae1a3e5895c8a6e99c09.zip
Btrfs: noinline merge_extent_mapping
In order to debug subtle bugs around merge_extent_mapping(), perf probe can be used to check the arguments, but sometimes merge_extent_mapping() got inlined by compiler and couldn't be probed. This is adding noinline attribute to merge_extent_mapping(). Signed-off-by: Liu Bo <bo.li.liu@oracle.com> Reviewed-by: Josef Bacik <jbacik@fb.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/extent_map.c')
-rw-r--r--fs/btrfs/extent_map.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/btrfs/extent_map.c b/fs/btrfs/extent_map.c
index 914662428dbd..d3bd02105d1c 100644
--- a/fs/btrfs/extent_map.c
+++ b/fs/btrfs/extent_map.c
@@ -480,10 +480,10 @@ static struct extent_map *prev_extent_map(struct extent_map *em)
* and an extent that you want to insert, deal with overlap and insert
* the best fitted new extent into the tree.
*/
-static int merge_extent_mapping(struct extent_map_tree *em_tree,
- struct extent_map *existing,
- struct extent_map *em,
- u64 map_start)
+static noinline int merge_extent_mapping(struct extent_map_tree *em_tree,
+ struct extent_map *existing,
+ struct extent_map *em,
+ u64 map_start)
{
struct extent_map *prev;
struct extent_map *next;