Re: [PATCH] nvme: change nvme_passthru_cmd64's result field.

From: Charles Machalow
Date: Mon Nov 04 2019 - 10:20:57 EST


The thing with that structure is if you use it with the old IOCTL, the
result will go into rsvd2 instead of the first 32 bits of result.

- Charlie Scott Machalow

On Mon, Nov 4, 2019 at 7:16 AM Marta Rybczynska <mrybczyn@xxxxxxxxx> wrote:
>
>
>
> ----- On 4 Nov, 2019, at 16:01, Charles Machalow csm10495@xxxxxxxxx wrote:
>
> > Yes. The idea is just to change the 64 IOCTL structure so it lines up
> > with the old ones so that the same struct can be used from userspace.
> > Right now the first 32 of 64's result doesn't line up with the old
> > result field.
> >
> > - Charlie Scott Machalow
>
> OK, then this will work on all architectures I know:
>
> struct nvme_passthru_cmd64 {
> __u8 opcode;
> __u8 flags;
> __u16 rsvd1;
> __u32 nsid;
> __u32 cdw2;
> __u32 cdw3;
> __u64 metadata;
> __u64 addr;
> __u32 metadata_len;
> __u32 data_len;
> __u32 cdw10;
> __u32 cdw11;
> __u32 cdw12;
> __u32 cdw13;
> __u32 cdw14;
> __u32 cdw15;
> __u32 timeout_ms;
> __u32 rsvd2;
> __u64 result;
> };
>
> Marta