GC reservation handling (bb #651)

note: this introduces a race condition between sxrm and sxcp by design.
Start 2 sxcp for same file(name), and after the first finishes then sxrm it.
Now if the GC runs before the 2nd sxcp finishes then it will fail because the
hashes are no longer reserved and they got removed.