On Thu, Aug 05, 2021 at 10:06:03AM -0700, Bart Van Assche wrote: > On 8/5/21 12:00 AM, longli@xxxxxxxxxxxxxxxxx wrote: > > diff --git a/include/uapi/misc/hv_azure_blob.h b/include/uapi/misc/hv_azure_blob.h > > new file mode 100644 > > index 0000000..87a3f77 > > --- /dev/null > > +++ b/include/uapi/misc/hv_azure_blob.h > > @@ -0,0 +1,35 @@ > > +/* 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/ioctl.h> > > +#include <linux/uuid.h> > > +#include <linux/types.h> > > + > > +/* 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 */ > > So this driver only supports synchronous requests? Is it likely that users > will ask for support of an API that supports having multiple requests > outstanding at the same time without having to create multiple user space > threads? They seem to want to go around the block layer and reinvent it all from scratch, which is crazy, so let them have their slow i/o :(