[Tux3] [PATCH] Fix entry table overflow (by splitting groups)
Shapor Naghibzadeh
shapor at gmail.com
Sun Aug 3 10:19:48 PDT 2008
On Sun, Aug 3, 2008 at 4:13 AM, Daniel Phillips <phillips at phunq.net> wrote:
> Incorporated in a heavily modified form. Thanks a lot for the analysis
> the correct fix. Note that one more thing had to be done: after
> splitting a group the new entry can be destined for either group, so a
> check is needed followed by advancing to the next group if necessary.
Heavily modified to the point of not working, unfortunately. :)
232 if (group == grbase || loghi < group->loghi || (entries -
group->count)->limit == grouplim) {
233 int split = group != grbase && group->count == grouplim;
Oops, you only set split = 1 if we have the pathological case of one
extent per entry (this passed due to the poor test case). My patch
has a better test case in it.
Later on you also assume you are splitting only groups with 255
entries causing more brokenness outside of the one-extent-per-entry
case.
You are right though, I forgot to advance to the next group if necessary.
Shapor
_______________________________________________
Tux3 mailing list
Tux3 at tux3.org
http://tux3.org/cgi-bin/mailman/listinfo/tux3
More information about the Tux3
mailing list