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