this bug had been rootcaused. in lib/metadata/cache_manip.c ``` int cache_vol_set_params() { ... ... if (!meta_size) { //heming: //the 128GB won't match below 3 if-"else if" branch. //so, meta_size is zero, then the meta_size will setup //to default value 4MB. it will cause device_mapper report //"No space left on device" if (pool_lv->size < (128 * ONE_MB_S)) meta_size = 16 * ONE_MB_S; else if (pool_lv->size < ONE_GB_S) meta_size = 32 * ONE_MB_S; else if (pool_lv->size < (128 * ONE_GB_S)) meta_size = 64 * ONE_MB_S; if (meta_size > (pool_lv->size / 2)) meta_size = pool_lv->size / 2; if (meta_size < min_meta_size) meta_size = min_meta_size; if (meta_size % extent_size) meta_size += extent_size - meta_size % extent_size; } ... ... } ``` upstream had been fixed this issue by commit: c08704cee7e34a96fdaa453faf900683283e8691 I will provide test rpm package ASAP.