On Fri, 26 Sep 2003, David Gilbert wrote: > Recent changes to -CURRENT prohibit vinum swap: > > [1:6:306]root_at_mu:~> swapon /dev/vinum/swapmu swapon: /dev/vinum/swapmu: > Operation not supported by device In order to support swapping, Vinum will need to be modified to use struct disk and the disk(9) API, rather than exposing its storage devices directly via struct cdevsw and make_dev(9). I.e., Vinum probably needs to start approaching things as "disks" rather than "devices", a distinction that's becoming more mature in -CURRENT. >From a quick read of vinumconfig.c, I'm guessing this wouldn't be hard to implement. Some subset of struct sd, struct plex, and struct volume will need to start holding a struct disk instance which would be passed to disk_create() instead of a call to make_dev(). Much of the remainder will just consist of a bit of tweaking to make Vinum extract its data from bp->bio_disk->d_drv1 instead of bp->b_dev, replacing the ioctl dev_t argument with a disk argument, etc. I recently noticed that Vinum may be averse to blocksizes other than 512 bytes. Or at least, I can get Vinum mirrors up and running on md devices backed to memory, but not to swap, and the usual reason for problems on that front is the 4k blocksize for swap-backed md devices. I also noticed that the vinum commandline tool is a bit devfs-unfriendly, or at least, it gets pretty verbose about how all the files/directories it wants to create are already present. It could be that a test for devfs conditionally causing a test for EEXIST would go a long way in muffling the somewhat loud complaining :-). Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert_at_fledge.watson.org Network Associates LaboratoriesReceived on Fri Sep 26 2003 - 13:39:19 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:23 UTC