fuse(8) applied to emulate /proc for SCST kernel code ported to usermode
This recent work maps a Linux kernel proc_dir_entry tree to the fuse(8) API.
It allows a sophisticated administration script (scstadmin) to operate without
changes on either a kernel-resident instance of SCST or a usermode-ported
David Butterfield -----------------
iSCSI-SCST Storage Server Usermode Adaptation An adaptation of the iSCSI-SCST storage server software to run entirely in usermode on an unmodified kernel David A. Butterfield
This paper describes an adaptation of the iSCSI-SCST storage server software to run entirely in usermode on an unmodified Linux kernel; performance measurements and model; and an experimental algorithm to improve performance for small Read operations.
In a standard installation of SCST the iscsi-scstd daemon runs as a single-threaded Linux usermode process that cooperates with the kernel-resident SCST datapath implementation using ioctl(2) and netlink(7) for communication.
In the iSCSI-SCST Usermode Adaptation the iscsi-scstd daemon runs on the main thread in a multi-threaded process in which other usermode threads are concurrently providing the services and executing the SCST code that would be running inside the kernel in a standard installation of SCST.
The iSCSI server executable program can run as a regular (non-super) user, as long as it has permission to access the backing storage (file or block device). Administration is done in the usual SCST way using scstadmin, which accesses the running server program through a fuse-mounted filesystem implemented using a shim to connect the SCST procfs calls with the fuse(8) filesystem API.