The CSI driver currently leverages several Linux tools to implement certain low-level features, like mount for mounting / unmounting or blkid to determine if a path / file system is mounted.
We should consider moving to the Go syscall package instead which provides as least some of the functionality needed in a programmatic fashion. The benefits are that we do not depend on the availability of certain tools, and that we don't need to shell out (which complicates matters like putting together CLI parameters and properly reporting errors).
The CSI driver currently leverages several Linux tools to implement certain low-level features, like
mountfor mounting / unmounting orblkidto determine if a path / file system is mounted.We should consider moving to the Go syscall package instead which provides as least some of the functionality needed in a programmatic fashion. The benefits are that we do not depend on the availability of certain tools, and that we don't need to shell out (which complicates matters like putting together CLI parameters and properly reporting errors).