]> git.baikalelectronics.ru Git - kernel.git/commit
md/bitmap: improve handling of 'allclean'.
authorNeilBrown <neilb@suse.de>
Wed, 21 Sep 2011 05:37:46 +0000 (15:37 +1000)
committerNeilBrown <neilb@suse.de>
Wed, 21 Sep 2011 05:37:46 +0000 (15:37 +1000)
commit6bb9953ee13c86318a568203afd7bb1d152623bd
tree3faccf1f22eb01bea55f49926a913446134df1d2
parentc8fb2bdcfafe8b968d4eb80b66a64aa734a69bc1
md/bitmap: improve handling of 'allclean'.

The 'allclean' flag is used to cache the fact that there is nothing to
do, so we can avoid waking up and scanning the bitmap regularly.

The two sorts of pages that might need the attention of the bitmap
daemon are BITMAP_PAGE_PENDING and BITMAP_PAGE_NEEDWRITE pages.

So make sure allclean reflects exactly when there are none of those.
So:
  set it before scanning all pages with either bit set.
  clear it whenever these bits are set
  clear it when we desire not to clear one of these bits.
  don't clear it any other time.

Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/bitmap.c