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
| Thomas Gleixner | Re: Linux 2.6.21-rc1 |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| James Bottomley | [Ksummit-2008-discuss] Fixing the Kernel Janitors project |
| James Morris | Re: LSM conversion to static interface |
git: | |
| Natalie Protasevich | [BUG] New Kernel Bugs |
| Christoph Hellwig | Re: [PATCH 06/32] IGET: Mark iget() and read_inode() as being obsolete [try #2] |
| Linus Torvalds | Re: [GIT]: Networking |
| Jarek Poplawski | [PATCH take 2] pkt_sched: Protect gen estimators under est_lock. |
