diff options
author | Nikolay Borisov <nborisov@suse.com> | 2019-08-27 07:46:29 -0400 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2019-09-09 08:59:16 -0400 |
commit | 6ff49c6ad285160b8ba48589ebdbf6cebdd42f74 (patch) | |
tree | 579ce68df238df9d3cad0fd8decd98bcc6a7580e /fs/btrfs/tree-log.c | |
parent | 9bb8407f54f63242d822d6c57f4edb7d1ae2b901 (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.c | 13 |
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); |