tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: short reads on unix stream on netbsd-10
> [...] for perfused(8) a few years ago. See section 3.3 of my
> EuroBSDcon paper if you are curious of the details.
> http://hcpnet.free.fr/pubz/fuse.pdf
Heh. Reading that reminds me of my own run-ins with puffs. I
implemented a gitfs (present git repos as a filesystem) using puffs,
only to find it deadlocking the machine. It wasn't quite your
deadlock, but was related; my deadlock looked more like, puffs request
leads daemon to fork git, git tries to access (local FFS) filesystem,
FFS code wants a new vnode, VFS code tries to clean a vnode and picks a
puffs vnode (which the daemon can't do anything with because it's
waiting for git). I then made the daemon more asynchronous; then, it
wound up locking up the machine in a more obscure way I still don't
really understand.
I've given up on puffs (though it sounds as though your work improved
it significantly in these regards - I was/am using the 5.2 version);
one of my back-burner projects is to build a library that, essentially,
reimplements parts of the filesystem machinery (notably mount points)
in userspace, so my HTTP and FTP daemons can present something that
looks like a gitfs mount point to their clients.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse%rodents-montreal.org@localhost
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
Home |
Main Index |
Thread Index |
Old Index