struct extent_buffer *leaf;
        struct btrfs_key key;
        unsigned long ptr;
-       int err = 0;
        int ret;
 
        path = btrfs_alloc_path();
 again:
        ret = btrfs_search_slot(trans, tree_root, &key, path, -1, 1);
        if (ret < 0) {
-               err = ret;
                goto out;
        } else if (ret == 0) {
                leaf = path->nodes[0];
                if ((btrfs_root_ref_dirid(leaf, ref) != dirid) ||
                    (btrfs_root_ref_name_len(leaf, ref) != name_len) ||
                    memcmp_extent_buffer(leaf, name, ptr, name_len)) {
-                       err = -ENOENT;
+                       ret = -ENOENT;
                        goto out;
                }
                *sequence = btrfs_root_ref_sequence(leaf, ref);
 
                ret = btrfs_del_item(trans, tree_root, path);
-               if (ret) {
-                       err = ret;
+               if (ret)
                        goto out;
-               }
-       } else
-               err = -ENOENT;
+       } else {
+               ret = -ENOENT;
+               goto out;
+       }
 
        if (key.type == BTRFS_ROOT_BACKREF_KEY) {
                btrfs_release_path(path);
 
 out:
        btrfs_free_path(path);
-       return err;
+       return ret;
 }
 
 /*