diff options
Diffstat (limited to 'fs/btrfs/ctree.c')
| -rw-r--r-- | fs/btrfs/ctree.c | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c index b39b339fbf96..a9543f01184c 100644 --- a/fs/btrfs/ctree.c +++ b/fs/btrfs/ctree.c @@ -114,6 +114,22 @@ noinline void btrfs_release_path(struct btrfs_path *p)  }  /* + * We want the transaction abort to print stack trace only for errors where the + * cause could be a bug, eg. due to ENOSPC, and not for common errors that are + * caused by external factors. + */ +bool __cold abort_should_print_stack(int errno) +{ +	switch (errno) { +	case -EIO: +	case -EROFS: +	case -ENOMEM: +		return false; +	} +	return true; +} + +/*   * safely gets a reference on the root node of a tree.  A lock   * is not taken, so a concurrent writer may put a different node   * at the root of the tree.  See btrfs_lock_root_node for the  |