Skip to content

Commit 4b8bd7b

Browse files
fdmananakdave
authored andcommitted
btrfs: use test_and_set_bit() in btrfs_delayed_delete_inode_ref()
Instead of testing and setting the BTRFS_DELAYED_NODE_DEL_IREF bit in the delayed node's flags, use test_and_set_bit() which makes the code shorter without compromising readability and getting rid of the label and goto. Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Daniel Vacek <neelx@suse.com> Reviewed-by: Qu Wenruo <wqu@suse.com> Signed-off-by: Filipe Manana <fdmanana@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
1 parent 07ddb2d commit 4b8bd7b

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

fs/btrfs/delayed-inode.c

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2008,13 +2008,10 @@ int btrfs_delayed_delete_inode_ref(struct btrfs_inode *inode)
20082008
* It is very rare.
20092009
*/
20102010
mutex_lock(&delayed_node->mutex);
2011-
if (test_bit(BTRFS_DELAYED_NODE_DEL_IREF, &delayed_node->flags))
2012-
goto release_node;
2013-
2014-
set_bit(BTRFS_DELAYED_NODE_DEL_IREF, &delayed_node->flags);
2015-
delayed_node->count++;
2016-
atomic_inc(&fs_info->delayed_root->items);
2017-
release_node:
2011+
if (!test_and_set_bit(BTRFS_DELAYED_NODE_DEL_IREF, &delayed_node->flags)) {
2012+
delayed_node->count++;
2013+
atomic_inc(&fs_info->delayed_root->items);
2014+
}
20182015
mutex_unlock(&delayed_node->mutex);
20192016
btrfs_release_delayed_node(delayed_node, &delayed_node_tracker);
20202017
return 0;

0 commit comments

Comments
 (0)