On Fri, Aug 09, 2013 at 03:07:00PM +0200, Jan Kara wrote: > reaim workfile.dbase test easily triggers warning in > ext4_da_update_reserve_space(): > > EXT4-fs warning (device ram0): ext4_da_update_reserve_space:365: > ino 12, allocated 1 with only 0 reserved metadata blocks (releasing 1 > blocks with reserved 9 data blocks) > > The problem is that (one of) tests creates file and then randomly writes > to it with O_SYNC. That results in writing back pages of the file in > random order so we create extents for written blocks say 0, 2, 4, 6, 8 > - this last allocation also allocates new block for extents. Then we > writeout block 1 so we have extents 0-2, 4, 6, 8 and we release > indirect extent block because extents fit in the inode again. Then we > writeout block 10 and we need to allocate indirect extent block again > which triggers the warning because we don't have the reservation > anymore. > > Fix the problem by giving back freed metadata blocks resulting from > extent merging into inode's reservation pool. > > Signed-off-by: Jan Kara <jack@xxxxxxx> Thanks, applied. - Ted -- 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