Mon, 14 Mar 2022
Yesterday I discussed /dev/full and asked why there wasn't a
generalization of it, and laid out out some very 1990s suggestions that I
have had in the back of my mind since the 1990s. I ended by
acknowledging that there was probably a more modern solution in user
space:
Eh, probably the right solution these days is to
LD_PRELOADa complete mock filesystem library that has any hooks you want in it.
Carl Witty suggested that there is a more modern solution in userspace, FUSE, and Leah Neukirchen filled in the details:
UnreliableFS is a FUSE-based fault injection filesystem that allows to change fault-injections in runtime using simple configuration file.
Also, Dave Vasilevsky suggested that something like this could be done with the device mapper.
I think the real takeaway from this is that I had not accepted the hard truth that all Unix is Linux now, and non-Linux Unix is dead.
Thanks everyone who sent suggestions.
[ Addendum: Leah Neukirchen informs me that FUSE also runs on FreeBSD, OpenBSD and macOS, and reminds me that there are a great many MacOS systems. I should face the hard truth that my knowledge of Unix systems capabilities is at least fifteen yers out of date. ]
[Other articles in category /Unix] permanent link


