I discussed this last summer with Rafael. It's a lot harder than it
looks, for all sorts of reasons. For example, what about user tasks
that have access to memory-mapped I/O regions?
I don't know. There are other interfaces too, like sysfs attributes,
that would have to be handled specially. On the whole, the freezer
seems much, much simpler.
Regarding fuse, something like Nigel's scheme for preventing new
requests and then waiting for old requests to complete might work out.
Especially if you combine it with a strategy for making the freezer
back and retry after a delay when something goes wrong.
Alan Stern
--