This is a bug reported by Sushmitha Sreenivasan:
HDFS-8036 makes the diff-based distcp use snapshot path as the source. This should also happen when
- invalid snapshot names are provided as distcp parameters thus the diff report computation on the target cluster fails
- there is modification happening in the target cluster thus checkNoChange returns false
In other cases like source and target FS are not DistributedFileSystem, we should throw exceptions.