Fixed #20488 -- raise ValueError when dst_name already exists

Storage interface clearly specifies what happens when dst_name
already exists. This enforces consistent behaviour across all
custom storage implementations.