Re: userspace block driver?

Miklos Szeredi
2005-11-11T06:00:57Z

> >
> > N.B. though FUSE itself is free of deadlocks, as soon as you put
> > something on top of it which has asyncronous page writeback it will
> > not be safe anymore.
>
> Why? What goes wrong?

Filesystem daemon can't use GFP_NOIO, and can't set PF_MEMALLOC. Even
if it could, there's the problem with reply packets from network,
which are not even handled in kernel yet (?).

FUSE sidesteps the issue, by doing writes synchronously and not
allowing shared-writable mappings, hence never dirtying any pages.

The sync write is actually not so bad, the filesystem daemon can do
it's own buffering safely (it's swapabble memory), or do async writes
over the network (letting TCP handle the buffering).

Miklos