[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Nbd] Starting over?



On 5 May 2015, at 21:36, Tuomas Räsänen <tuomasjjrasanen@...1261...> 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







Reply to: