Description of problem: ====================== storage.reserve limits are crossed during remove-brick operation. Version-Release number of selected component (if applicable): 3.12.2-5.el7rhgs.x86_64 How reproducible: always Steps to Reproduce: =================== 1) create a x3 volume and start it. 2) Set storage.reserve volume set option to 90, gluster volume set distrepx3 storage.reserve 90 3) Create data using dd until the backend bricks reaches reserve limit. 4) Now start remove-brick operation and wait till it completes Actual results: =============== Though the storage reserve limits are reached, files are successfully migrated during remove-brick operation resulting in crossing the storage reserve limits. Expected results: ================ storage.reserve limits should not be crossed during remove-brick operation. Additional info: ================ Was able to reproduce this issue for 1MB, 5MB, 25MB file sizes.