The above-described functions associated with functionality for interfacing applications using kernel space block devices with IO load balancing and submission functionality in the user space are carried out at least in part under the control of its interface logic 114. For example, interface logic 114 is illustratively configured to control performance of portions of the process shown in the flow diagram described above in conjunction with
As indicated previously, absent use of the functionality for interfacing applications using kernel space block devices with IO load balancing and submission functionality in the user space as disclosed herein, applications and kernel space-based filesystems which rely on kernel space-based IO load balancing and submission functionality are unable to utilize user space-based IO load balancing and submission functionality. This leads to inefficiencies in the storage system as well as in the host device since kernel space-based IO load balancing and submission functionality requires the use of kernel IO stacks, interrupts and other kernel space-based functionality.
Such drawbacks are advantageously overcome in illustrative embodiments herein by utilization of interface logic 114 to implement functionality for interfacing applications using kernel space block devices with IO load balancing and submission functionality in the user space in a manner which allows these applications and kernel space-based filesystems to transfer IO commands to the user space IO load balancing and submission functionality via the kernel space for submission to the storage array from the user space.