On Thu, Dec 10, 2009 at 05:15:53PM +0100, Jan Kara wrote: > > drop i_block_reservation_lock before vfs_dq_reserve_block(). > > this patch fix http://bugzilla.kernel.org/show_bug.cgi?id=14739 > > > > Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> > Sorry if someone already refused this (I didn't follow the previous > discussion too closely) but: Looking at the code I see no reason why > ext4_claim_free_blocks needs i_block_reservation_lock. In fact mballoc > calls this function without the lock. So could not we just compute > 'total' under the lock, release it, reserve quota and then claim free > blocks? You'd get rid of undoing the block reservation and obtain quota > and blocks in the usual order... The code is protecting i_reserved_meta_blocks. We are recalculating the the value and need to make sure we don't get the value wrong. I guess we need to hold i_block_reservation_lock while we recalculate the meta data block. -aneesh -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html