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.