[Tux3] Dirty hack blockread() and dleaf_merge() fix

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <tux3@...>
Date: Sunday, December 28, 2008 - 11:46 pm

Hi,

The free bitmap is called from fill_segs(). The page for free bitmap
may be used recursively. We have to care this point.

lock_page(bitmap page (e.g. index == 3))
->writepage(bitmap page)
tux3_get_block()
balloc() (allocate blocks for that bitmap page)
/* we are starting to find free block on bitmap */
while (end of page)
blockread(bitmap page)
lock_page(bitmap page (index == 3))

Current blockread() have the above deadlock. This patchset is including
the hack to avoid this. Later, we should revisit blockread() to fix
properly.

Second one is dleaf_merge() fix. Now, it don't care about
MAX_GROUP_ENTRIES at all. This fixes it.

static-http://userweb.kernel.org/~hirofumi/tux3/

Please review those.
--
OGAWA Hirofumi

_______________________________________________
Tux3 mailing list
Tux3@tux3.org
http://mailman.tux3.org/cgi-bin/mailman/listinfo/tux3

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [Tux3] More xattr design details, Benjamin K. Stuhl, (Wed Sep 10, 9:23 pm)
[Tux3] Dirty hack blockread() and dleaf_merge() fix, OGAWA Hirofumi, (Sun Dec 28, 11:46 pm)
Re: [Tux3] Dirty hack blockread() and dleaf_merge() fix, Daniel Phillips, (Mon Dec 29, 12:13 am)
Re: [Tux3] Dirty hack blockread() and dleaf_merge() fix, OGAWA Hirofumi, (Mon Dec 29, 1:52 am)
Re: [Tux3] More xattr design details, Daniel Phillips, (Wed Sep 10, 10:15 pm)
Re: [Tux3] More xattr design details, Daniel Phillips, (Thu Sep 11, 6:04 pm)