storage/reflink: bail out early on most FICLONE errnos
storage/reflink: bail out early on most FICLONE errnos

Don't fall back on 'cp' if the FICLONE ioctl gives an errno that's not
plausibly reflink specific, because in such a case any fallback could
theoretically mask real but intermittent system/storage errors.

Looking through ioctl_ficlone(2) and the kernel source, it should be
sufficient to do the fallback only on EBADF/EINVAL/EOPNOTSUPP/EXDEV.
(EISDIR/ETXTBSY don't apply to this storage driver, which will never
legitimately attempt to reflink a directory or an active - in the
storage domain - swap file.)

marmarek/qubes-core-admin,QubesOS/qubes-core-admin,QubesOS/qubes-core-admin,QubesOS/qubes-core-admin,marmarek/qubes-core-admin,marmarek/qubes-core-admin