On Sun, May 14, 2006 at 02:47:52AM -0700, Andrew Morton wrote: > Evgeniy Dushistov <dushistov@xxxxxxx> wrote: > > > > The situation the same: in ufs_trunc_(not direct), > > we read block, > > check if count of links to it is equal to one, > > if so we finish cycle, if not continue. > > Because of "count of links" always >=2 this operation cause > > infinite cycle and hang up the kernel. > > okay, but do we know what that code which you removed was actually intended > to do? > I suppose it wait untill all range of buffers, which used by "inode" will be freed. "vmtruncate" should care about this. > Do you know whether 2.4 kernels exhibit the same bug? I suppose 2.4 doesn't affected, because of "sb_get_hash_table" (analog of sb_find_get_block in 2.6) use "get_bh" only once, so b_count equal to 1 if nobody used it. -- /Evgeniy - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html