[stgt] [PATCH] Make backends loadable modules
FUJITA Tomonori
fujita.tomonori at lab.ntt.co.jp
Wed Sep 18 11:46:55 CEST 2013
Again, so sorry.
On Wed, 28 Aug 2013 09:53:03 -0700
Andy Grover <agrover at redhat.com> wrote:
> On 08/28/2013 02:34 AM, Boaz Harrosh wrote:
> > On 08/28/2013 07:59 AM, ronnie sahlberg wrote:
> >> On Tue, Aug 27, 2013 at 3:56 PM, Andy Grover <agrover at redhat.com> wrote:
> >>> I think you may be able to avoid making bs.c into a shared library if you
> >>> link tgtd with the -E linker option.
> >
> > Personally I prefer the .so option:
> >
> > For one I hate any double dependency, and specially an executable dependency.
> > This is bad code design and a call for tons of problems. It is called the
> > libraries hell. Each module should be self contained or only depend downwards
> > on lower stack. library rules are exactly like package rules only depend
> > downwards, and the complex dependency should be a tree never a graph ...
> >
> > Second with the bs.c as library it is clear and protected what are the API's
> > the backends are to depend on and import, No crazy unexpected stuff from
> > a loaded plugin.
> >
> > Please keep the second version as you sent it it is a much better style
> > than the -E hack.
>
> You only get library hell when there are binary modules that expect to
> run across different versions of the executable. I don't think that's
> what we're talking about here. My initial request was to make it
> possible for users to avoid installing dependencies for parts of tgt
> they won't be using. That just requires tgtd and bs_rbd.so be separate
> binaries, and tgtd work in the the absence of bs_rbd. Both binaries
> would always still be generated from the same source version.
>
> So for me, linking tgtd with -E seems like the simplest solution to
> reach that modest goal, but I'm fine with whatever Ronnie and Tomo do,
> as long as it does the basic thing :-)
Agreed, I prefer the approach, which looks like the simplest way to
fix the problem we want to solve. I have no plan to support the
complicated stuff like the different versions of the combination. I
also don't think that others want to do so.
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the stgt
mailing list