On 5 May 2015, at 21:36, Tuomas Räsänen <[email protected]> wrote:
>> >> Also, the lack of other people helping out with the source base have >> held me back in that area; but perhaps this lack of interest is mainly >> due to the fact that the code is so badly readable...? > > Actually, the bad smell around the code was one of the reasons I got > interested > in helping out about two years ago. Careful refactoring, step-by-step, is > quite > satisfactory, am I the only village idiot getting kicks from fixing smelly > C-code (and wearing black leather programming gloves)? +1. As someone who has had the occasional burst of fixing up the code in the past, I don't think it's unfixable. There's bits of it that are a bit smelly, but most of those are related to the protocol - some to back compatibility, but some to flaws in the present day protocol (e.g. how do you report an error halfway through a large read unless the read is RAM buffered first). There's some restructuring that would be nice to do - for instance the negotiation stuff (last time I looked at it) was opaque in how it worked and a state machine implementation would be cleaner. And it would be nice to separate this from the mainloop to give a choice of backends (AIO etc.), and give a choice of forking vs threading vs whatnot. But I've seen far worse, and I'm not convinced a 'nuke from orbit' approach is really necessary unless you're going to so something truly radical like incorporate it into the kernel (and no, I see no need for that). -- Alex Bligh ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Nbd-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/nbd-general
