On Wed, 19 Jun 2013, Theodore Ts'o wrote: > Date: Wed, 19 Jun 2013 19:42:43 -0400 > From: Theodore Ts'o <tytso@xxxxxxx> > To: Lukáš Czerner <lczerner@xxxxxxxxxx> > Cc: linux-ext4@xxxxxxxxxxxxxxx, Ashish Sangwan <ashishsangwan2@xxxxxxxxx> > Subject: Re: [PATCH v4 15/20] ext4: use ext4_zero_partial_blocks in punch_hole > > On Wed, Jun 19, 2013 at 06:37:53PM +0200, Lukáš Czerner wrote: > > > > I think I've got this. The problem actually is in > > ext4_zero_partial_blocks() where we would attempt to zero out page > > which has been previously released by truncate_pagecache_range(). > > This might happen when we're punching out just a single page because > > in ext4_zero_partial_blocks() we do not check whether we're dealing > > with the whole, or partial page. At the point we're going to zero it > > out it might have been already released and reused by someone else. > > > > This patch should fix this issue. And indeed with this applied I do > > not see the problem anymore but I am still testing. > > Thanks for finding this! I'm still doing testing of your trial patch > myself, but initial results seem to indicate that this also solves the > failures 269 and 270 which was apparently uncovered by Ashish's patch > "ext4: optimize extent selection for block removal in case of hole > punch". > > - Ted Hi Ted, from my testing I still see problems with test 269, however I've seen this even without the patch #15 so I am not sure that it's caused by this. I'll send a proper patch soon. Thanks! -Lukas