Hi Alex,
> + spin_lock(&left_root->root_times_lock);
> + ctransid = btrfs_root_ctransid(&left_root->root_item);
> + spin_unlock(&left_root->root_times_lock);
> + if (ctransid != left_start_ctransid)
> + left_start_ctransid = 0;
> +
> + spin_lock(&right_root->root_times_lock);
> + ctransid = btrfs_root_ctransid(&right_root->root_item);
> + spin_unlock(&right_root->root_times_lock);
> + if (ctransid != right_start_ctransid)
> + left_start_ctransid = 0;
Shouldn't it be here right_start_ctransid=0? Otherwise,
right_start_ctransid is pretty useless in this function.
> +
> + if (!left_start_ctransid || !right_start_ctransid) {
> + WARN(1, KERN_WARNING
> + "btrfs: btrfs_compare_tree detected "
> + "a change in one of the trees while "
> + "iterating. This is probably a "
> + "bug.\n");
> + ret = -EIO;
> + goto out;
> + }
I am reading the code have more questions (and comments), but will
send them all later.
Alex.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html