client: stat first, then upload if not exists
partial: work on multi-client