Maxim Sobolev writes:
> Poul-Henning Kamp wrote:
> > Assignment:
> > There is no reason for the NCCD constant to exist anymore.
> > The CCD driver already has cloning support but CCDs "softc"
> > structure is statically allocated for NCCD devices.
> > Change the CCD driver to dynamically allocate memory as needed,
> > the MD driver can be used as example as the overall morphology
> > of the two drivers are the same.
> See attached patch. Due to the fact that statically allocated array
> was replaced with queue(9) list, it became big PITA to use kvm in the
> ccdconfig(8) utility, so in addition I've replaced kvm with ioctl
> interface, which simplifies things and allows to lift sugid bit from
> it (I bet rwatson and other trusted folks would like that ;) Also
> I've converted function prototypes into single style (deK&Rified
> them), because most of them were affected by the my changes anyway.
> I would like to hear comments and suggestions.
I only have one real suggestion. You added sc_vpp to ccd_s in order to
store the vnodes to pass between the ioctl and the init procedures.
This is a duplication of resources, since the init procedure merely
copies the vnode into the appropriate info structure, and the vpp array
is never used again. A better solution might be to simply pass the
local vpp array as an extra argument to ccdinit (after cpaths, for
instance). Then, after ccdinit is done, simply free the ioctl copy of
vpp and you are done. It just seems like a lot of overhead carrying
around that malloc'd sc_vpp for no purpose. Unless, of course, you can
tell me the purpose for it!
> Truly yours,
> Maxim "Jr. Kernel Hacker" Sobolev
/Joe "The wanna-be Jr. Kernel Hacker"
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message