avoid race condition on file flush between reserve and inuse

When a hash is marked as inuse we must delete its reservations.
However we must only delete the reservation for the current hash, not for
all hashes of the current file, otherwise there is a race condition:

file upload N hashes
replicated M<N hashes
file flush
try to mark as inuse all N hashes, deleting all reservations
GC runs : deletes the placeholder for the (N-M) hashes that were not yet
replicated
blockmgr tries to replicate missing (N-M) hashes, but it can't because
reservations are gone