> Subject: Re: [Patch v4 2/3] Drivers: hv: add Azure Blob driver > > On 20. 07. 21, 5:31, longli@xxxxxxxxxxxxxxxxx wrote: > > --- /dev/null > > +++ b/include/uapi/misc/hv_azure_blob.h > > @@ -0,0 +1,34 @@ > > +/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ > > +/* Copyright (c) 2021 Microsoft Corporation. */ > > + > > +#ifndef _AZ_BLOB_H > > +#define _AZ_BLOB_H > > + > > +#include <linux/kernel.h> > > +#include <linux/uuid.h> > > Quoting from > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore. > kernel.org%2Flinux- > doc%2FMWHPR21MB159375586D810EC5DCB66AF0D7039%40MWHPR21MB1 > 593.namprd21.prod.outlook.com%2F&data=04%7C01%7Clongli%40micr > osoft.com%7C7fdf2d6ed15d4d4122a308d94b6eeed0%7C72f988bf86f141af91 > ab2d7cd011db47%7C1%7C0%7C637623762292949381%7CUnknown%7CTWFp > bGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVC > I6Mn0%3D%7C3000&sdata=kv0ZkU1QL6TxlJJZEQEsT7aqLFL9lmP2SStz8k > U5sIs%3D&reserved=0: > ===== > Seems like a #include of asm/ioctl.h (or something similar) is needed so that > _IOWR is defined. Also, a #include is needed for __u32, __aligned_u64, > guid_t, etc. > ===== The user-space code includes "sys/ioctl.h" for calling into ioctl(). "sys/ioctl.h" includes <linux/ioctl.h>, so it has no problem finding _IOWR. guid_t is defined in <uapi/linux/uuid.h>, included from <linux/uuid.h> (in this file) __u32 and __aligned_u64 are defined in <uapi/linux/types.>, which is included from <linux/kernel.h> (in this file) > > Why was no include added? > > > + > > +/* user-mode sync request sent through ioctl */ struct > > +az_blob_request_sync_response { > > + __u32 status; > > + __u32 response_len; > > +}; > > + > > +struct az_blob_request_sync { > > + guid_t guid; > > + __u32 timeout; > > + __u32 request_len; > > + __u32 response_len; > > + __u32 data_len; > > + __u32 data_valid; > > + __aligned_u64 request_buffer; > > + __aligned_u64 response_buffer; > > + __aligned_u64 data_buffer; > > + struct az_blob_request_sync_response response; }; > > + > > +#define AZ_BLOB_MAGIC_NUMBER 'R' > > +#define IOCTL_AZ_BLOB_DRIVER_USER_REQUEST \ > > + _IOWR(AZ_BLOB_MAGIC_NUMBER, 0xf0, \ > > + struct az_blob_request_sync) > > + > > +#endif /* define _AZ_BLOB_H */ > > > > thanks, > -- > js > suse labs