On 26/05/14 19:38, David Holland wrote:
On Sun, May 25, 2014 at 04:31:51PM +0000, Antti Kantee wrote: > Modified Files: > src/sys/kern: subr_devsw.c vfs_bio.c > src/sys/rump/librump/rumpkern: rump.c > > Log Message: > Call biodone() in the bdev_strategy() error via a pointer. Decouples > subr_devsw from VFS -- not that I/O buffers are _VFS_ entities -- Yes they are... so are devsw entries, for that matter.
Fact: tcp/ip + bpf (accessed via devsw) works fine without VFS. Let's keep it that way. E.g. IoT folks looking at using the NetBSD TCP/IP stack in their [high-end] devices wouldn't be too thrilled if the memory requirement for networking grew by 100% just because.
I have no idea how you expect buffer ops to be able to work without biodone
I don't expect it to work, it's just to appease linkage for e.g. the above-mentioned bpf+networking case. In the current state of things, you can't create a "struct buf" without vfs_bio.c, so you'll not be calling bdev_strategy().