On Wed, Jul 14, 2021 at 09:14:13PM +0000, Long Li wrote: > > Subject: Re: [Patch v3 2/3] Drivers: hv: add Azure Blob driver > > > > On Tue, Jul 13, 2021 at 07:45:21PM -0700, longli@xxxxxxxxxxxxxxxxx wrote: > > > From: Long Li <longli@xxxxxxxxxxxxx> > > > > > > Azure Blob storage provides scalable and durable data storage for Azure. > > > > > (https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fazu > > > re.microsoft.com%2Fen- > > us%2Fservices%2Fstorage%2Fblobs%2F&data=04%7 > > > > > C01%7Clongli%40microsoft.com%7C950a81a410c54c2475a308d946ec0c09%7C > > 72f9 > > > > > 88bf86f141af91ab2d7cd011db47%7C1%7C0%7C637618801920394272%7CUnk > > nown%7C > > > > > TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiL > > CJXVC > > > > > I6Mn0%3D%7C1000&sdata=iLDP6EYsoCDlLvToJB31hIQxW3NdCnR0UH31 > > FRDwvRI% > > > 3D&reserved=0) > > > > > > This driver adds support for accelerated access to Azure Blob storage. > > > As an alternative to REST APIs, it provides a fast data path that uses > > > host native network stack and secure direct data link for storage server > > access. > > > > So it goes around the block layer? Why? > > Azure Blob is object-oriented storage solution designed for cloud environments. > While it's entirely possible to go through block layer, it's not as efficient as using > its native APIs for data access. Some of the security features (authentication, > tokens, lifecycle management) are not easily integrated into block layer. The > object model in Azure Blob is designed to be scalable and doesn't have many > limitations that block layer enforces (e.g. number of sectors). What does the kernel's filesystem and block developers and maintainers think about this end-run around that subsystem? Do they agree with this one-off-custom-ioctl api? Who has reviewed this api to assure you that it is sane and actually works properly? And are you sure that the block layer is not efficient? You just lost all use of caching and io_uring and loads of other kernel infrastructure that has been developed and relied on for decades. You also just abandoned the POSIX model and forced people to use a random-custom-library just to access their storage devices, breaking all existing programs in the world. What programs today use this new api? Where is the api published and what ensures that it will remain stable? What happens when it changes over time, do we have to rebuild all userspace applications? What happens to the kernel code over time, how do you handle changes to the api there? You are going to need a lot of people to agree that this is ok to circumvent in order to allow this to be accepted, have you done that yet? > Please refer to this link for different storage models in Azure: > https://docs.microsoft.com/en-us/azure/storage/common/storage-introduction#core-storage-services Links are not good for changelogs as the kernel changelog is for forever, while random company urls we have no control over. thanks, greg k-h