Messages in this thread | | | Date | Tue, 25 Jan 2011 13:53:45 +0900 | From | Toshiyuki Okajima <> | Subject | Re: [RFC][PATCH] radix_tree: radix_tree_gang_lookup_tag_slot may not return forever. |
| |
Hi Andrew,
On Fri, 21 Jan 2011 15:31:54 -0800 Andrew Morton <akpm@linux-foundation.org> wrote:
> On Fri, 21 Jan 2011 15:34:31 +0900 > Toshiyuki Okajima <toshi.okajima@jp.fujitsu.com> 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? > I add regression2_test for this bug into your testset (rtth.tar.gz). This is originated from regression1_test.
Regards, Toshiyuki Okajima [unhandled content-type:application/octet-stream] | |