[lkml]   [2010]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 00/68] ide2libata
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.


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.

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.


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