btrfs: clean up NULL checks in qgroup_unreserve_range()
Smatch complains that this code dereferences "entry" before checking whether it's NULL on the next line. Fortunately, rb_entry() will never return NULL so it doesn't cause a problem. We can clean up the NULL checking a bit to silence the warning and make the code more clear. Reviewed-by: Qu Wenruo <wqu@suse.com> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
fca3a45d08
commit
f07728d541
|
@ -3435,24 +3435,20 @@ static int qgroup_unreserve_range(struct btrfs_inode *inode,
|
|||
{
|
||||
struct rb_node *node;
|
||||
struct rb_node *next;
|
||||
struct ulist_node *entry = NULL;
|
||||
struct ulist_node *entry;
|
||||
int ret = 0;
|
||||
|
||||
node = reserved->range_changed.root.rb_node;
|
||||
if (!node)
|
||||
return 0;
|
||||
while (node) {
|
||||
entry = rb_entry(node, struct ulist_node, rb_node);
|
||||
if (entry->val < start)
|
||||
node = node->rb_right;
|
||||
else if (entry)
|
||||
node = node->rb_left;
|
||||
else
|
||||
break;
|
||||
node = node->rb_left;
|
||||
}
|
||||
|
||||
/* Empty changeset */
|
||||
if (!entry)
|
||||
return 0;
|
||||
|
||||
if (entry->val > start && rb_prev(&entry->rb_node))
|
||||
entry = rb_entry(rb_prev(&entry->rb_node), struct ulist_node,
|
||||
rb_node);
|
||||
|
|
Loading…
Reference in New Issue