summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/tree-log.c
diff options
context:
space:
mode:
authorNikolay Borisov <nborisov@suse.com>2019-08-27 07:46:29 -0400
committerDavid Sterba <dsterba@suse.com>2019-09-09 08:59:16 -0400
commit6ff49c6ad285160b8ba48589ebdbf6cebdd42f74 (patch)
tree579ce68df238df9d3cad0fd8decd98bcc6a7580e /fs/btrfs/tree-log.c
parent9bb8407f54f63242d822d6c57f4edb7d1ae2b901 (diff)
btrfs: Make btrfs_find_name_in_ext_backref return struct btrfs_inode_extref
btrfs_find_name_in_ext_backref returns either 0/1 depending on whether it found a backref for the given name. If it returns true then the actual inode_ref struct is returned in one of its parameters. That's pointless, instead refactor the function such that it returns either a pointer to the btrfs_inode_extref or NULL it it didn't find anything. This streamlines the function calling convention. Signed-off-by: Nikolay Borisov <nborisov@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/tree-log.c')
-rw-r--r--fs/btrfs/tree-log.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index 7a7ae33bea51..7a0e3f8dec5c 100644
--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -968,7 +968,7 @@ static noinline int backref_in_log(struct btrfs_root *log,
968 if (btrfs_find_name_in_ext_backref(path->nodes[0], 968 if (btrfs_find_name_in_ext_backref(path->nodes[0],
969 path->slots[0], 969 path->slots[0],
970 ref_objectid, 970 ref_objectid,
971 name, namelen, NULL)) 971 name, namelen))
972 match = 1; 972 match = 1;
973 973
974 goto out; 974 goto out;
@@ -1267,9 +1267,9 @@ again:
1267 goto out; 1267 goto out;
1268 1268
1269 if (key->type == BTRFS_INODE_EXTREF_KEY) 1269 if (key->type == BTRFS_INODE_EXTREF_KEY)
1270 ret = btrfs_find_name_in_ext_backref(log_eb, log_slot, 1270 ret = !!btrfs_find_name_in_ext_backref(log_eb, log_slot,
1271 parent_id, name, 1271 parent_id, name,
1272 namelen, NULL); 1272 namelen);
1273 else 1273 else
1274 ret = !!btrfs_find_name_in_backref(log_eb, log_slot, 1274 ret = !!btrfs_find_name_in_backref(log_eb, log_slot,
1275 name, namelen); 1275 name, namelen);
@@ -1334,9 +1334,8 @@ static int btrfs_inode_ref_exists(struct inode *inode, struct inode *dir,
1334 goto out; 1334 goto out;
1335 } 1335 }
1336 if (key.type == BTRFS_INODE_EXTREF_KEY) 1336 if (key.type == BTRFS_INODE_EXTREF_KEY)
1337 ret = btrfs_find_name_in_ext_backref(path->nodes[0], 1337 ret = !!btrfs_find_name_in_ext_backref(path->nodes[0],
1338 path->slots[0], parent_id, 1338 path->slots[0], parent_id, name, namelen);
1339 name, namelen, NULL);
1340 else 1339 else
1341 ret = !!btrfs_find_name_in_backref(path->nodes[0], path->slots[0], 1340 ret = !!btrfs_find_name_in_backref(path->nodes[0], path->slots[0],
1342 name, namelen); 1341 name, namelen);