What is claimed is:1. An apparatus comprising:a host device comprising a processor coupled to memory, the host device being configured to communicate over a network with at least one storage system along a plurality of paths, wherein the host device is further configured:to generate a user space block device in a user space of the host device, the user space block device corresponding to a path of the plurality of paths between the host device and the at least one storage system;to generate a kernel space block device in a kernel space of the host device, the kernel space block device corresponding to the user space block device;to receive an input-output operation at the kernel space block device from an application executing on the host device;to transfer the input-output operation from the kernel space block device to the corresponding user space block device;to select a path of the plurality of paths based at least in part on the transferred input-output operation and the user space block device; andto submit the transferred input-output operation to the at least one storage system based at least in part on the selected path using the user space block device.2. The apparatus of claim 1 wherein the user space block comprises information about at least one path from the host device to a given logical volume of the at least one storage system.3. The apparatus of claim 1 wherein the host device further comprises communication hardware that is configured to communicate with the at least one storage system, the user space block device being configured to submit the transferred input-output operation directly from the user space to the communication hardware in the hardware space, the communication hardware being configured to provide the transferred input-output operation to the at least one storage system based at least in part on the selected path.4. The apparatus of claim 1 wherein:the host device comprises input-output load balancing and submission functionality residing in the user space; andsubmitting the transferred input-output operation to the at least one storage system comprises submitting the transferred input-output operation to the at least one storage system based at least in part on the user space block device and the input-output load balancing and submission functionality residing in the user space.5. The apparatus of claim 1 wherein the transferred input-output operation is submitted to the at least one storage system from the user space without utilizing functionality in the kernel space.6. The apparatus of claim 1 wherein the host device is configured to transfer the input-output operation from the kernel space block device to the user space block device based at least in part on at least one communication protocol that is configured to transfer data between the user space and the kernel space of the host device.7. A method comprising:generating a user space block device in a user space of a host device, the user space block device corresponding to a path of a plurality of paths between the host device and at least one storage system;generating a kernel space block device in a kernel space of the host device, the kernel space block device corresponding to the user space block device;receiving an input-output operation at the kernel space block device from an application executing on a host device;transferring the input-output operation from the kernel space block device to the corresponding user space block device;selecting a path of the plurality of paths based at least in part on the transferred input-output operation and the user space block device; andsubmitting the transferred input-output operation to the at least one storage system based at least in part on the selected path using the user space block device;wherein the method is implemented by the host device, the host device comprising a processor coupled to a memory.8. The method of claim 7 wherein the user space block comprises information about at least one path from the host device to a given logical volume of the at least one storage system.9. The method of claim 7, wherein the host device further comprises communication hardware that is configured to communicate with the at least one storage system, the user space block device being configured to submit the transferred input-output operation directly from the user space to the communication hardware in the hardware space, the communication hardware being configured to provide the transferred input-output operation to the at least one storage system based at least in part on the selected path.10. The method of claim 7, wherein:the host device comprises input-output load balancing and submission functionality residing in the user space; andsubmitting the transferred input-output operation to the at least one storage system comprises submitting the transferred input-output operation to the at least one storage system based at least in part on the user space block device and the input-output load balancing and submission functionality residing in the user space.11. The method of claim 7, wherein the transferred input-output operation is submitted to the at least one storage system from the user space without utilizing functionality in the kernel space.12. The method of claim 7, wherein the host device is configured to transfer the input-output operation from the kernel space block device to the user space block device based at least in part on at least one communication protocol that is configured to transfer data between the user space and the kernel space of the host device.13. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code, when executed by a host device comprising a processor coupled to a memory, causes the host device:to generate a user space block device in a user space of the host device, the user space block device corresponding to a path of a plurality of paths between the host device and at least one storage system;to generate a kernel space block device in a kernel space of the host device, the kernel space block device corresponding to the user space block device;to receive an input-output operation at the kernel space block device from an application executing on the host device;to transfer the input-output operation from the kernel space block device to the corresponding user space block device;to select a path of the plurality of paths based at least in part on the transferred input-output operation and the user space block device; andto submit the transferred input-output operation to the at least one storage system based at least in part on the selected path using the user space block device.14. The computer program product of claim 13 wherein the user space block device comprises information about at least one path from the host device to a given logical volume of the at least one storage system.15. The computer program product of claim 13, wherein the host device further comprises communication hardware that is configured to communicate with the at least one storage system, the user space block device being configured to submit the transferred input-output operation directly from the user space to the communication hardware in the hardware space, the communication hardware being configured to provide the transferred input-output operation to the at least one storage system based at least in part on the selected path.16. The computer program product of claim 13, wherein:the host device comprises input-output load balancing and submission functionality residing in the user space; andsubmitting the transferred input-output operation to the at least one storage system comprises submitting the transferred input-output operation to the at least one storage system based at least in part on the user space block device and the input-output load balancing and submission functionality residing in the user space.17. The computer program product of claim 13, wherein the transferred input-output operation is submitted to the at least one storage system from the user space without utilizing functionality in the kernel space.18. The computer program product of claim 13, wherein the host device is configured to transfer the input-output operation from the kernel space block device to the user space block device based at least in part on at least one communication protocol that is configured to transfer data between the user space and the kernel space of the host device.19. The apparatus of claim 1 wherein:the application executes on the host device in the user space;the application is configured to generate the input-output operation in the user space; andreceiving the input-output operation at the kernel space block device from the application comprises obtaining the generated input-output operation from the application in the user space.20. The method of claim 7, wherein:the application executes on the host device in the user space;the application generates the input-output operation in the user space; andreceiving the input-output operation at the kernel space block device from the application comprises obtaining the generated input-output operation from the application in the user space.