On Wed, 4 Aug 2010, Andreas Dilger wrote: > On 2010-08-04, at 07:44, Lukas Czerner wrote: > > + /* > > + * Clear bits in the bitmap > > + */ > > + for (bit = start; bit < next; bit++) { > > + BUFFER_TRACE(bitmap_bh, "clear bit"); > > + if (!ext3_clear_bit_atomic(sb_bgl_lock(sbi, group), > > + bit, bitmap_bh->b_data)) { > > + ext3_error(sb, __func__, > > + "bit already cleared for block "E3FSBLK, > > + (unsigned long)bit); > > + BUFFER_TRACE(bitmap_bh, "bit already cleared"); > > + } else { > > + freed++; > > + } > > + } > > + > > + /* Update couters */ > > + spin_lock(sb_bgl_lock(sbi, group)); > > + le16_add_cpu(&gdp->bg_free_blocks_count, freed); > > + spin_unlock(sb_bgl_lock(sbi, group)); > > + percpu_counter_add(&sbi->s_freeblocks_counter, next - start); > > It wouldn't be a terrible idea to put this code into a helper function that is shared with ext3_free_blocks_sb() so that it is kept in sync. There are a lot of places that need to be kept coordinated (disk bitmap, memory bitmap, group descriptor, percpu counter) so I'd like that to be localized to one part of the code. > > > Cheers, Andreas > Ok, I will see what I can do with that. Thanks. -Lukas -- 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