[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