From owner-freebsd-questions@FreeBSD.ORG Mon Jul 14 11:51:30 2008 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4F9DB1065677 for ; Mon, 14 Jul 2008 11:51:30 +0000 (UTC) (envelope-from xd888cc7541309c3f@f4n.org) Received: from lore.f4n.org (2-1-6-25b.va.gbg.bostream.se [82.182.120.239]) by mx1.freebsd.org (Postfix) with SMTP id A397A8FC14 for ; Mon, 14 Jul 2008 11:51:29 +0000 (UTC) (envelope-from xd888cc7541309c3f@f4n.org) Received: (qmail 20390 invoked by uid 1000); 14 Jul 2008 11:36:10 -0000 Date: Mon, 14 Jul 2008 13:36:10 +0200 From: Pete To: freebsd-questions@freebsd.org Message-ID: <20080714113610.GA27500@lore.f4n.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: Using RocketRAID 1810A (hptmv) as an ordinary controller? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Jul 2008 11:51:30 -0000 I'd like to use my HighPoint RocketRAID 1810A as an ordinary SATA controller without any RAID functionality. This works fine out of the box for all sectors of the disk except the last ten, which are hidden. The controller is identified as: hptmv0: mem 0xfbf00000-0xfbf7ffff irq 18 at device 2.0 on pci1 RocketRAID 182x SATA Controller driver Version v1.12 (Sep 17 2007 18:32:12) I believe the 1810A is identical to the 1820A, except that it has four channels less. There's a new driver out (v1.16, CVS has v1.12) but I don't think the changes are relevant to the issue at hand. The setup I'm using is GELI inside a GEOM label, that is: glabel label mylabel /dev/da1 geli init ... /dev/label/mylabel Due to the fact that the hptmv driver hides the last ten sectors I can't move disks between the 1810A and an ordinary controller: a disk configured on an ordinary controller will have its metadata (and more) hidden, and a disk configured on the 1810A will have its "last two sectors" (one for the label, one for GELI) ten sectors away from the end of the disk. Questions: 1. Looking at the src/sys/dev/hptmv/array.h there's a SAVE_FOR_RAID_INFO which is set to 0 if ARRAY_V2_ONLY is defined, otherwise it's set to 10. The only other references to ARRAY_V2_ONLY are in gui_lib.c, where the capacity is once again reduced by 10 sectors if the option is in place. There is a SUPPORT_ARRAY option, but it doesn't seem to affect SAVE_FOR_RAID_INFO. Compiling with '#undef SUPPORT_ARRAY' seems to be terribly broken and I don't know how to fix it. Some of the errors can be fixed with a little '#ifdef SUPPORT_ARAY':ing, others are less obvious to me. I also tried compiling with ARRAY_V2_ONLY=1 and also with SAVE_FOR_RAID_INFO=0 forced, but neither seems to work, the capacity is still ten sectors short. Anyone have ANY ideas on how to get access to the last sectors when the disk is connected to the 1810A, or is it prevented by the hardware? It's OK if it sacrifices RAID functionality for all channels. 2. If a disk has been formatted while connected to the 1810A, how would one use it in a different controller, one which does not hide the last ten sectors? The disk has no bsdlabel. I suppose I could chain ten glabels, but that's just silly. 3. Should it be impossible to access the last sectors using 1810A, do you have any recommendations of an ordinary SATA controller, or a RAID one which optionally does not hide any sectors, and works fine with 1TB disks on FreeBSD (ideally on 6.x)? All ideas and comments are appreciated. Thanks in advance!