Re: Proposal: make RAID6 code optional

From: Prakash Punnoor
Date: Sat Apr 18 2009 - 05:14:12 EST


On Samstag 18 April 2009 10:09:54 Michael Tokarev wrote:
> Prakash Punnoor wrote:
> > Hi,
> >
> > as I am using only RAID5 I wonder why the RAID6 code also needs to be
> > built. Here is a rough patch of making RAID6 optional (but depending on
> > raid456) without reording of functions to minimize ifdef scattering.
> > (I also haven't checked yet who needs ASYNC_MEMCPY and ASYNC_XOR...)
> > It would probably be nicer to make RAID4/5 and RAID6 independently
> > selectable of each other. But that requires more refactoring, as I can
> > see.
>
> Hm. In "old good days" there were 3 independent kernel modules,
> named raid4, raid5 and raid6. Later on, they got merged into one
> since they share quite alot of the code, and has only a few specific
> parts. Now you're trying to separate them back somewhat....
>
> What's your goal? What's the problem you're trying to solve?

Having duplicate code is not good, of course. But unused code is also not
good. As I said, I only use RAID5, so I don't need RAID6 support. The RAID6
support enlarges kernel (the built-in.o in drivers/md grows from 325kb to
414kb in my case), making boot time and compile time longer - admittedly not
by a big margin. But then again I could argue: Why not put RAID0,1,10,4,5,6
into one big module? Makes no sense, huh? For me putting 5 and 6 into one
monolithic module makes no sense. A proper architecture would be to have some
common shared code (in a separate module?), not a monolithic big one.

Regards,

Prakash

Attachment: signature.asc
Description: This is a digitally signed message part.