[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20110226185419.GF2924@thunk.org>
Date: Sat, 26 Feb 2011 13:54:19 -0500
From: Ted Ts'o <tytso@....edu>
To: Curt Wohlgemuth <curtw@...gle.com>
Cc: linux-ext4@...r.kernel.org
Subject: Re: [PATCH 2/2] ext4: fix ext4_da_block_invalidatepages() to
handle page range properly
On Fri, Feb 18, 2011 at 01:31:39PM -0800, Curt Wohlgemuth wrote:
> If ext4_da_block_invalidatepages() is called because of a
> failure from ext4_map_blocks() in mpage_da_map_and_submit(),
> it's supposed to clean up -- including unlock -- all the
> pages in the mpd structure. But these values may not match
> up, even on a system in which block size == page size:
>
> mpd->b_blocknr != mpd->first_page
> mpd->b_size != (mpd->next_page - mpd->first_page)
>
> ext4_da_block_invalidatepages() has been using b_blocknr and
> b_size; this patch changes it to use first_page and
> next_page.
>
> Tested: I injected a small number (5%) of failures in
> ext4_map_blocks() in the case that the flags contain
> EXT4_GET_BLOCKS_DELALLOC_RESERVE, and ran fsstress on this
> kernel. Without this patch, I got hung tasks every time.
> With this patch, I see no hangs in many runs of fsstress.
>
> Signed-off-by: Curt Wohlgemuth <curtw@...gle.com>
Thanks, added to the ext4 patch queue.
- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists