Re: [PATCH 1/3] ufs: ufs_trunc_indirect: infinite cycle

Evgeniy Dushistov
2006-05-14T11:44:46Z

On Sun, May 14, 2006 at 02:47:52AM -0700, Andrew Morton wrote:
> Evgeniy Dushistov <dushistov@mail.ru> 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