bugfix: add bms_copy(required) outer to hold the bitmap in private area