path is where to mount the disk inside the container, source is used to indicate the external source path for external disks and source is used to indicate the custom volume name when pool is non-empty.
You can only pass a block device as source for VMs though.