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

OGAWA Hirofumi hirofumi at mail.parknet.co.jp
Sun Dec 28 19:46:19 PST 2008


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

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


Please review those.
OGAWA Hirofumi <hirofumi at mail.parknet.co.jp>

Tux3 mailing list
Tux3 at tux3.org

More information about the Tux3 mailing list