Re: [PATCH v2] btrfs: fix check_shared for fiemap ioctl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jun 01, 2016 at 02:15:22PM -0700, Mark Fasheh wrote:
> > +static int ref_tree_add(struct ref_root *ref_tree, u64 root_id, u64 object_id,
> > +			u64 offset, u64 parent, int count)
> > +{
> > +	struct ref_node *node = NULL;
> > +	struct rb_node **pos = NULL;
> > +	struct rb_node *pos_parent = NULL;
> > +	int origin_count;
> > +	int ret;
> > +
> > +	if (!count)
> > +		return 0;
> > +
> > +	node = __ref_tree_search(ref_tree, &pos, &pos_parent, root_id,
> > +				 object_id, offset, parent);
> > +	if (node == NULL) {
> > +		node = kmalloc(sizeof(*node), GFP_KERNEL);
> > +		if (!node)
> > +			return -ENOMEM;
> > +
> > +		node->root_id = root_id;
> > +		node->object_id = object_id;
> > +		node->offset = offset;
> > +		node->parent = parent;
> > +		node->ref_mod = count;
> > +
> > +		ret = ref_tree_insert(ref_tree, pos, pos_parent, node);
> > +		ASSERT(!ret);
> > +		if (ret) {
> > +			kfree(node);
> > +			return ret;
> > +		}
> 
> If you put the open coded comparisons into their own function, then it
> should be trivial to call that here and we can have a 'standard' looking
> rbtree insert instead of this custom version. See the rbtree.h header for an
> example.

oops, I meant Documentation/rbtree.txt instead of include/linux/rbtree.h.
	--Mark

--
Mark Fasheh
--
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



[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux