Anthony sent out a patch to make backing filenames that contain a protocol work. An issue with bdrv_find_protocol() was identified because its interface makes it impossible to distinguish between filenames that start with "file:" and those that have no "<protocol>:" at all.
This patch series solves the issue by introducing a path_has_protocol() function to test whether or not a filename contains a protocol. I tried Kevin's suggestion of adding a new bdrv_find_protocol()-like interface with more specific error returns but found that option more complicated than path_has_protocol(). For details on Anthony's patch see http://patchwork.ozlabs.org/patch/69384/.