The function nvme_init_copy_range_elbt converts eilbrt to big-endian, I think it should be little-endian, same as eilbrt in fmt0.
static inline void nvme_init_copy_range_elbt(__u8 *elbt, __u64 eilbrt)
{
int i;
for (i = 0; i < 8; i++)
elbt[9 - i] = (eilbrt >> (8 * i)) & 0xff;
elbt[1] = 0;
elbt[0] = 0;
}