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

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


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 <hirofumi at mail.parknet.co.jp>

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



More information about the Tux3 mailing list