Date: Tue, 19 Jan 2016 09:10:48 -0800 From: Scott Long <scott4long@yahoo.com> To: "Kenneth D. Merry" <ken@FreeBSD.ORG> Cc: Warner Losh <imp@bsdimp.com>, current@freebsd.org, scsi@freebsd.org Subject: Re: CAM Shingled Disk support patches available Message-ID: <07A5702E-86FB-488C-92E8-850457DD8C17@yahoo.com> In-Reply-To: <20160119162555.GA99885@mithlond.kdm.org> References: <20151118171309.GA3564@mithlond.kdm.org> <20160118223704.GA87506@mithlond.kdm.org> <349FCA2B-8346-4EC2-8459-B174FDC2CDB3@bsdimp.com> <20160119162555.GA99885@mithlond.kdm.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> On Jan 19, 2016, at 8:25 AM, Kenneth D. Merry <ken@FreeBSD.ORG> wrote: >=20 >=20 >>> In the ada(4) case, we need to add the register to struct ccb_ataio = and >>> add support in one or more of the underlying SATA drivers, e.g. = ahci(4). >>=20 >> I believe that changes the size of the CCB, so I tried to avoid >> that since I didn???t want to force a recompile of camcontrol(8). >> Adding it to the atacmd structure wasn???t so bad, and the CCB size >> didn???t completely change. The problem was that the atacmd changed >> size and pushed all the other fields. >=20 > Yes. In order to do it, we'll need to add it to struct atacmd, and = add > compatibility shims. I don't see another way to do it unfortunately. >=20 No, I object to changing the structure sizes and contents. It should be = a new CCB, XPT_ATA_IO_EXT, ccb_ataio_ext. If you want to add more future-looking fields than just the AUX register, maybe a way to define un-typed command and response register objects, that=E2=80=99s fine and = probably a good idea. The periph drivers can probe for the proper command to send based on whether the SIM returning CAM_FUNC_NOTAVAIL or via a PIM flag, or even better, via a KVP capability CCB. However I=E2=80=99m = firmly against changing the existing data structures; compat shims have been a pain and are a poor solution. Warner and I are pounding out a proposal for this, will share a diff = shortly. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?07A5702E-86FB-488C-92E8-850457DD8C17>