Re: [RFC][PATCH] radix_tree: radix_tree_gang_lookup_tag_slot maynot return forever.

From: Andrew Morton
Date: Fri Jan 21 2011 - 18:32:23 EST


On Fri, 21 Jan 2011 15:34:31 +0900
Toshiyuki Okajima <toshi.okajima@xxxxxxxxxxxxxx> wrote:

> Hi.
>
> I executed fsstress and then found that the system hung up.
> At that time, I took the crash dump. Here is the backtrace of the process
> which causes this hangup.
>
> [long description]
>
> --- a/lib/radix-tree.c
> +++ b/lib/radix-tree.c
> @@ -736,10 +736,11 @@ next:
> }
> }
> /*
> - * The iftag must have been set somewhere because otherwise
> - * we would return immediated at the beginning of the function
> + * We need not to tag the root tag if there is no tag which is set with
> + * settag within the range from *first_indexp to last_index.
> */
> - root_tag_set(root, settag);
> + if (tagged > 0)
> + root_tag_set(root, settag);
> *first_indexp = index;
>
> return tagged;

Thanks.

It should be fairly simple to reproduce this hang with the userspace
test harness (http://userweb.kernel.org/~akpm/stuff/rtth.tar.gz) and to
then demonstrate that the fix fixes it.

If you have time, could you please do that and then send the rtth
updates to me?

--
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/