Hi,

  just one note: I've looked to the in scan_bitmap() in bitmap.c. There is:
        /* When the bitmap is more than 10% free, anyone can allocate.
         * When it's less than 10% free, only files that already use the
         * bitmap are allowed. Once we pass 80% full, this restriction
         * is lifted.
         *
         * We do this so that files that grow later still have space
         * close to
         * their original allocation. This improves locality, and
         * presumably
         * performance as a result.
         *
         * This is only an allocation policy and does not make up for
         * getting a
         * bad hint. Decent hinting must be implemented for this to work
         * well.
         */
        if (TEST_OPTION(skip_busy, s)
            && SB_FREE_BLOCKS(s) > SB_BLOCK_COUNT(s) / 20) {

   So the comment suggests we should lift the restriction when we are 80%
full but if you see the condition, it checks wherher we are 95% full! I
guess that is really asking for trouble and could explain the
behaviour...
  Mike could you try changing that 20 in the test to 5? IMHO that could
fix your problem.

                                                                Honza



-- 
Jan Kara <[EMAIL PROTECTED]>
SuSE CR Labs

Reply via email to