Re: [PATCH v3 1/2] Staging: lustre: Refactor the functioninterval_erase_color() in /lustre/ldlm/interval_tree.c

From: Xiong, Jinshan
Date: Tue Jan 14 2014 - 03:01:53 EST



On Jan 13, 2014, at 11:56 PM, Dilger, Andreas <andreas.dilger@xxxxxxxxx> wrote:

>
>
> Begin forwarded message:
>
>> From: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
>> Subject: Re: [PATCH v3 1/2] Staging: lustre: Refactor the function interval_erase_color() in /lustre/ldlm/interval_tree.c
>> Date: January 11, 2014 at 1:33:58 PM MST
>> To: Monam Agarwal <monamagarwal123@xxxxxxxxx>
>> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx>, <devel@xxxxxxxxxxxxxxxxxxxx>, <andreas.dilger@xxxxxxxxx>, <peter.p.waskiewicz.jr@xxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, Rashika Kheria <rashika.kheria@xxxxxxxxx>
>>
>> On Sat, Jan 11, 2014 at 05:14:35PM +0530, Monam Agarwal wrote:
>>> On Sat, Jan 11, 2014 at 5:09 PM, Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
>>>> On Sat, Jan 11, 2014 at 04:56:44PM +0530, Monam Agarwal wrote:
>>>>> I took n as a flag to decide whether parent->in_left == node is true
>>>>> or not in the called function.
>>>>
>>>> So "n" stands for "node"?
>>>>
>>>>> Should I use some other name for the flag.
>>>>
>>>>
>>>> Yes.
>>>>
>>>
>>> Will "flag" be a suitable name?

I’d suggest `bool is_right_child’.

I’ve checked the patch and it looks good. There exists a unit test case for interval tree under lustre/tests/ named it_test.c, please compile it and verify your change.

Jinshan

>>
>> Ick, no. You don't want a "flag" to have to determine what the logic is
>> for a given function. That just causes confusion and makes things
>> really hard to read and understand over time.
>>
>> This whole function looks like a red/black tree, or something like that.
>> Shouldn't we just be using the in-kernel implementation of this? And if
>> not, then you really need to get the feedback of the code's original
>> authors as you might be changing the algorithm in ways that could cause
>> big problems.
>>
>> thanks,
>>
>> greg k-h
>
> Cheers, Andreas
> --
> Andreas Dilger
> Lustre Software Architect
> Intel Corporation
>
>
>
>
>
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/