From owner-freebsd-current@FreeBSD.ORG Fri Sep 26 18:27:41 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7C9E416A4B3; Fri, 26 Sep 2003 18:27:41 -0700 (PDT) Received: from sizone.org (mortar.sizone.org [65.126.154.242]) by mx1.FreeBSD.org (Postfix) with ESMTP id E9AC743FEC; Fri, 26 Sep 2003 18:27:37 -0700 (PDT) (envelope-from dgilbert@daveg.ca) Received: by sizone.org (Postfix, from userid 66) id EA01B301BE; Fri, 26 Sep 2003 21:27:36 -0400 (EDT) Received: by canoe.dclg.ca (Postfix, from userid 101) id D8A661D1C4A; Fri, 26 Sep 2003 19:28:45 -0400 (EDT) From: David Gilbert MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <16244.52141.653633.965105@canoe.dclg.ca> Date: Fri, 26 Sep 2003 19:28:45 -0400 To: Robert Watson In-Reply-To: References: <16244.40636.428865.644209@canoe.dclg.ca> X-Mailer: VM 7.14 under 21.4 (patch 12) "Portable Code" XEmacs Lucid cc: freebsd-current@freebsd.org cc: David Gilbert Subject: Re: recent changes prohibit vinum swap. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Sep 2003 01:27:41 -0000 >>>>> "Robert" == Robert Watson writes: Robert> On Fri, 26 Sep 2003, David Gilbert wrote: >> Recent changes to -CURRENT prohibit vinum swap: >> >> [1:6:306]root@mu:~> swapon /dev/vinum/swapmu swapon: >> /dev/vinum/swapmu: Operation not supported by device Robert> In order to support swapping, Vinum will need to be modified Robert> to use struct disk and the disk(9) API, rather than exposing Robert> its storage devices directly via struct cdevsw and Robert> make_dev(9). I.e., Vinum probably needs to start approaching Robert> things as "disks" rather than "devices", a distinction that's Robert> becoming more mature in -CURRENT. >> From a quick read of vinumconfig.c, I'm guessing this wouldn't be >> hard to Robert> implement. Some subset of struct sd, struct plex, and struct Robert> volume will need to start holding a struct disk instance which Robert> would be passed to disk_create() instead of a call to Robert> make_dev(). Much of the remainder will just consist of a bit Robert> of tweaking to make Vinum extract its data from bp-> bio_disk->d_drv1 instead of bp->b_dev, replacing the ioctl dev_t Robert> argument with a disk argument, etc. Is this something that someone can help me with quickly, or should I downgrade the machine until it's been done? Is there a quick hack to make it work for now? If I must downgrade, what date would be appropriate? Robert> I also noticed that the vinum commandline tool is a bit Robert> devfs-unfriendly, or at least, it gets pretty verbose about Robert> how all the files/directories it wants to create are already Robert> present. It could be that a test for devfs conditionally Robert> causing a test for EEXIST would go a long way in muffling the Robert> somewhat loud complaining :-). Well... vinum is fragile in a whole bunch of ways. vinum rm often leaves things in an inconsistant state. I almost always reboot now after using it. vinum rename doesn't change the devfs vinum directory ... which then also requires a reboot to correct. Another thing that's very fragile is resetconfig. It blanks memory, but not disk. It's often hard to get things running after that. Many times, I've had to resetconfig, reboot without loading vinum, dd to blank the disk, reboot, load vinum and start again. That all said, I see raidframe has been sucked in. Are there plans with that? Dave. -- ============================================================================ |David Gilbert, Independent Contractor. | Two things can only be | |Mail: dave@daveg.ca | equal if and only if they | |http://daveg.ca | are precisely opposite. | =========================================================GLO================