Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: blktap2 implementation in NetBSD



On Thu, 28 Jul 2011, Roger Pau Monné wrote:
I'm doing some research about how to implement something similar to
the blktap2 Linux driver on NetBSD, to be able to use different image
formats (other than raw). I've read on other threads that blktap will
be implemented using puffs on NetBSD, but I'm not able to see how is
that possible, since puffs does not provide a block devices. I've read
about RUMP, and it seems it would be best to implement the driver
using RUMP, and maybe when it's finished include it in the kernel, but
I'm not sure if it's the best way to implement it, could someone give
me some advice or status about this project?

This is pud, not puffs.

Have a look at pkgsrc/net/netbsd-iscsi-initiator, it's a block device
implemented in userland.

Thanks for the help, it took me quite some time to realize that you
can implement block devices inside virtual filesystems, that's a
really good trick.

Problem with netbsd-iscsi-initiator is that you use vnd(4) to access the storage. I've never got the block/character device options to work (though haven't tried hard) as really you need all the devices for the partitions (e.g. bd0a, rbd0, bd0b, rbd0d, etc.) as the tools generally expect them to be there like they are in /dev.

When using vnd(4) if the userland process restarts (such as reconnecting to an iSCSI target) it kills the whole filesystem layer requiring a forced reboot.

I think you should really be looking at libvdisk in -current.

--
Stephen


Home | Main Index | Thread Index | Old Index