[lkml]   [2010]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 00/68] ide2libata
On Friday 29 January 2010 10:40:47 pm Jeff Garzik wrote:
> On 01/29/2010 11:03 AM, Bartlomiej Zolnierkiewicz wrote:
> > Hi,
> >
> > Here is a patchset (on top of atang-v3.1 tree) applying "out-of-the-box"
> > thinking to duplicated libata PATA and IDE subsystem host driver sets.
> > Namely, it modifies IDE API slightly to match libata's one more, adds
> > a tiny source-code level translation layer (ide2libata.h header file
> > which consists of only 17 lines of code) and then converts host drivers
> > to use shared source code for low-level operations (all drivers have
> > been carefully audited during porting to minimize the probability of
> > adding regressions accidentally). As an end result it is much easier
> > to maintain both driver sets (differences between 'new'/'old' drivers
> > are now apparent and there is no longer a need to manually back-port
> > many classes of bugfixes) and over 2500 LOC are gone.
> Interesting.
> I'm fine with applying patches 2-5, but I am definitely interested to
> hear what others think about this. Clearly, LOC is reduced, but that's
> not the only factor in code maintenance.
> With regards to libata and old-IDE, I have always thought the ideal
> scenario was to leave old-IDE in bugfix-only mode, with next-to-no API
> or driver churn besides that which is absolutely required for the fix.
> En masse backporting bug fixes is what's known as a one-time cost. Once
> the majority of libata PATA drivers reach bugfix and feature parity, the
> need for code sharing is reduced greatly.
> The ide2libata proposal creates on-going costs, not just a one-time
> cost, because the old-IDE drivers will have -increased- potential for
> problems when a libata PATA driver is modified. Such is the -cost- of
> heavily intertwined code sharing. A single header change implies that
> two, not one, drivers might break. That weakens the "leave it alone"
> stability promise of old-IDE.

I understand your concerns (especially given that libata PATA drivers
are unmaintained) but this patchset is for atang tree which is what I use
personally and I have no problem with maintaining it as long as I find it
useful (porting few hundreds patches once in few months against upstream
is much cheaper in terms of time/sanity than obligatory discussions on
whether to document known end-user visible limitations in driver's Kconfig
help text or in driver's source code how etc.).

Starting with 2.6.33 users will be covered with a dedicated
patch and if distribution users want some changes that are in atang they
should ping their distribution about it, not me (if some distribution
would like to pay for the work on integrating some changes and/or getting
other ATA changes integrated please contact me in private).

IOW I'm just doing what I find useful/interesting for me and I don't care
much personally if it ever reaches upstream. I post patches mainly for
an extra review and to prevent duplication of efforts. If people find them
useful, great. If not, well, not a big deal (having 2000 commits upstream
changes a perspective a bit)..

> Waiting for other comments... this patchset is not an onerous burden to
> libata, but I think it creates nasty cross-tree issues, potentially
> perturbing old-IDE.

I'm rather time constrained these days so I think that I'll skip such type
of discussion entirely (though technical comments like bugs in patches etc.
are warmly welcomed and appreciated)..

Bartlomiej Zolnierkiewicz

 \ /
  Last update: 2010-01-29 23:29    [W:0.171 / U:20.016 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site