summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/backref.h
diff options
context:
space:
mode:
authorLiu Bo <liub.liubo@gmail.com>2012-09-07 20:01:28 -0600
committerChris Mason <chris.mason@fusionio.com>2012-10-01 15:19:18 -0400
commit69917e431210f8712fe050f47b7561e7dae89521 (patch)
tree52a81d3c70d3a768d2d7756984dd16898ce12e50 /fs/btrfs/backref.h
parentdea7d76ecbfb53cda6aadd9bed33e87d255c5b02 (diff)
downloadlinux-stable-69917e431210f8712fe050f47b7561e7dae89521.tar.gz
linux-stable-69917e431210f8712fe050f47b7561e7dae89521.tar.bz2
linux-stable-69917e431210f8712fe050f47b7561e7dae89521.zip
Btrfs: fix a bug in parsing return value in logical resolve
In logical resolve, we parse extent_from_logical()'s 'ret' as a kind of flag. It is possible to lose our errors because (-EXXXX & BTRFS_EXTENT_FLAG_TREE_BLOCK) is true. I'm not sure if it is on purpose, it just looks too hacky if it is. I'd rather use a real flag and a 'ret' to catch errors. Acked-by: Jan Schmidt <list.btrfs@jan-o-sch.net> Signed-off-by: Liu Bo <liub.liubo@gmail.com>
Diffstat (limited to 'fs/btrfs/backref.h')
-rw-r--r--fs/btrfs/backref.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/btrfs/backref.h b/fs/btrfs/backref.h
index 032f4dc7eab8..4fda5d8029a7 100644
--- a/fs/btrfs/backref.h
+++ b/fs/btrfs/backref.h
@@ -40,7 +40,8 @@ int inode_item_info(u64 inum, u64 ioff, struct btrfs_root *fs_root,
struct btrfs_path *path);
int extent_from_logical(struct btrfs_fs_info *fs_info, u64 logical,
- struct btrfs_path *path, struct btrfs_key *found_key);
+ struct btrfs_path *path, struct btrfs_key *found_key,
+ u64 *flags);
int tree_backref_for_extent(unsigned long *ptr, struct extent_buffer *eb,
struct btrfs_extent_item *ei, u32 item_size,