All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* loadable objectstore
@ 2015-04-10 22:03 Matt W. Benjamin
  2015-04-10 22:46 ` Sage Weil
  0 siblings, 1 reply; 30+ messages in thread
From: Matt W. Benjamin @ 2015-04-10 22:03 UTC (permalink / raw
  To: Varada.Kari; +Cc: ceph-devel

Hi Varada,

I pushed branch hammer-osfactory to https://github.com/linuxbox2/ceph.git

It can at least provide a starting point for discussion, if not a jumping off
point;  I do think it's basically what Sage described.

I was able to update the CMake build system to build the tree, I haven't
attempted Autotools. :(

Regards,

Matt

-- 
Matt Benjamin
CohortFS, LLC.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://cohortfs.com

tel.  734-761-4689 
fax.  734-769-8938 
cel.  734-216-5309 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: loadable objectstore
  2015-04-10 22:03 Matt W. Benjamin
@ 2015-04-10 22:46 ` Sage Weil
  2015-04-11  3:04   ` Varada Kari
  0 siblings, 1 reply; 30+ messages in thread
From: Sage Weil @ 2015-04-10 22:46 UTC (permalink / raw
  To: Matt W. Benjamin; +Cc: Varada.Kari, ceph-devel

On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> Hi Varada,
> 
> I pushed branch hammer-osfactory to https://github.com/linuxbox2/ceph.git
> 
> It can at least provide a starting point for discussion, if not a jumping off
> point;  I do think it's basically what Sage described.

I made a few comments on the pull request.  I think a factory class is the 
way to go, but we should be able to make the plugin loading part generic 
and not interface specific at all...

sage

> 
> I was able to update the CMake build system to build the tree, I haven't
> attempted Autotools. :(
> 
> Regards,
> 
> Matt
> 
> -- 
> Matt Benjamin
> CohortFS, LLC.
> 315 West Huron Street, Suite 140A
> Ann Arbor, Michigan 48103
> 
> http://cohortfs.com
> 
> tel.  734-761-4689 
> fax.  734-769-8938 
> cel.  734-216-5309 
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-04-10 22:46 ` Sage Weil
@ 2015-04-11  3:04   ` Varada Kari
  2015-04-11 14:51     ` Sage Weil
  0 siblings, 1 reply; 30+ messages in thread
From: Varada Kari @ 2015-04-11  3:04 UTC (permalink / raw
  To: Sage Weil, Matt W. Benjamin; +Cc: ceph-devel

Hi Matt/ Sage,

Thanks for sharing the pull request. Will work on the items what sage was mentioning in the comments along with the items in the tracker.

Varada

-----Original Message-----
From: Sage Weil [mailto:sage@newdream.net]
Sent: Saturday, April 11, 2015 4:16 AM
To: Matt W. Benjamin
Cc: Varada Kari; ceph-devel
Subject: Re: loadable objectstore

On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> Hi Varada,
>
> I pushed branch hammer-osfactory to
> https://github.com/linuxbox2/ceph.git
>
> It can at least provide a starting point for discussion, if not a
> jumping off point;  I do think it's basically what Sage described.

I made a few comments on the pull request.  I think a factory class is the way to go, but we should be able to make the plugin loading part generic and not interface specific at all...

sage

>
> I was able to update the CMake build system to build the tree, I
> haven't attempted Autotools. :(
>
> Regards,
>
> Matt
>
> --
> Matt Benjamin
> CohortFS, LLC.
> 315 West Huron Street, Suite 140A
> Ann Arbor, Michigan 48103
>
> http://cohortfs.com
>
> tel.  734-761-4689
> fax.  734-769-8938
> cel.  734-216-5309
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel"
> in the body of a message to majordomo@vger.kernel.org More majordomo
> info at  http://vger.kernel.org/majordomo-info.html
>
>

________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).


^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-04-11  3:04   ` Varada Kari
@ 2015-04-11 14:51     ` Sage Weil
  2015-04-11 15:06       ` Loic Dachary
  2015-04-13 16:09       ` Matt W. Benjamin
  0 siblings, 2 replies; 30+ messages in thread
From: Sage Weil @ 2015-04-11 14:51 UTC (permalink / raw
  To: Varada Kari; +Cc: Matt W. Benjamin, ceph-devel

On Sat, 11 Apr 2015, Varada Kari wrote:
> Hi Matt/ Sage,
> 
> Thanks for sharing the pull request. Will work on the items what sage 
> was mentioning in the comments along with the items in the tracker.

I pushed a wip-plugin branch with the pattern I had in mind... does this 
make sense?  It's only compile tested, and still needs preload() methods 
implemented so that long-running daemons (or perhaps others?) can preload 
it all at once.

Ideally we would replace ErasurePluginRegistry with this too, which means 
the naming of the .so's needs to be a bit more flexible as the EC plugin 
scheme is something like /usr/lib/ceph/erasure-code/libec_$name.so (not a 
strict function of type and name).  Or actually, we can just rename the 
EC .so's when this goes in?  Since they're explicitly incompatible 
between versions there is no reason the names need to remain 
consistent...

sage

> 
> Varada
> 
> -----Original Message-----
> From: Sage Weil [mailto:sage@newdream.net]
> Sent: Saturday, April 11, 2015 4:16 AM
> To: Matt W. Benjamin
> Cc: Varada Kari; ceph-devel
> Subject: Re: loadable objectstore
> 
> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > Hi Varada,
> >
> > I pushed branch hammer-osfactory to
> > https://github.com/linuxbox2/ceph.git
> >
> > It can at least provide a starting point for discussion, if not a
> > jumping off point;  I do think it's basically what Sage described.
> 
> I made a few comments on the pull request.  I think a factory class is the way to go, but we should be able to make the plugin loading part generic and not interface specific at all...
> 
> sage
> 
> >
> > I was able to update the CMake build system to build the tree, I
> > haven't attempted Autotools. :(
> >
> > Regards,
> >
> > Matt
> >
> > --
> > Matt Benjamin
> > CohortFS, LLC.
> > 315 West Huron Street, Suite 140A
> > Ann Arbor, Michigan 48103
> >
> > http://cohortfs.com
> >
> > tel.  734-761-4689
> > fax.  734-769-8938
> > cel.  734-216-5309
> > --
> > To unsubscribe from this list: send the line "unsubscribe ceph-devel"
> > in the body of a message to majordomo@vger.kernel.org More majordomo
> > info at  http://vger.kernel.org/majordomo-info.html
> >
> >
> 
> ________________________________
> 
> PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).
> 
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: loadable objectstore
  2015-04-11 14:51     ` Sage Weil
@ 2015-04-11 15:06       ` Loic Dachary
  2015-04-11 15:49         ` Sage Weil
  2015-04-13 16:09       ` Matt W. Benjamin
  1 sibling, 1 reply; 30+ messages in thread
From: Loic Dachary @ 2015-04-11 15:06 UTC (permalink / raw
  To: Sage Weil, Varada Kari; +Cc: Matt W. Benjamin, ceph-devel

[-- Attachment #1: Type: text/plain, Size: 3616 bytes --]

Hi Sage,

It looks like common/PluginRegistry.{h,cc} are missing from 18ad8df1094db52c839dc6b2dc689fc882230acb

Cheers

On 11/04/2015 16:51, Sage Weil wrote:
> On Sat, 11 Apr 2015, Varada Kari wrote:
>> Hi Matt/ Sage,
>>
>> Thanks for sharing the pull request. Will work on the items what sage 
>> was mentioning in the comments along with the items in the tracker.
> 
> I pushed a wip-plugin branch with the pattern I had in mind... does this 
> make sense?  It's only compile tested, and still needs preload() methods 
> implemented so that long-running daemons (or perhaps others?) can preload 
> it all at once.
> 
> Ideally we would replace ErasurePluginRegistry with this too, which means 
> the naming of the .so's needs to be a bit more flexible as the EC plugin 
> scheme is something like /usr/lib/ceph/erasure-code/libec_$name.so (not a 
> strict function of type and name).  Or actually, we can just rename the 
> EC .so's when this goes in?  Since they're explicitly incompatible 
> between versions there is no reason the names need to remain 
> consistent...
> 
> sage
> 
>>
>> Varada
>>
>> -----Original Message-----
>> From: Sage Weil [mailto:sage@newdream.net]
>> Sent: Saturday, April 11, 2015 4:16 AM
>> To: Matt W. Benjamin
>> Cc: Varada Kari; ceph-devel
>> Subject: Re: loadable objectstore
>>
>> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
>>> Hi Varada,
>>>
>>> I pushed branch hammer-osfactory to
>>> https://github.com/linuxbox2/ceph.git
>>>
>>> It can at least provide a starting point for discussion, if not a
>>> jumping off point;  I do think it's basically what Sage described.
>>
>> I made a few comments on the pull request.  I think a factory class is the way to go, but we should be able to make the plugin loading part generic and not interface specific at all...
>>
>> sage
>>
>>>
>>> I was able to update the CMake build system to build the tree, I
>>> haven't attempted Autotools. :(
>>>
>>> Regards,
>>>
>>> Matt
>>>
>>> --
>>> Matt Benjamin
>>> CohortFS, LLC.
>>> 315 West Huron Street, Suite 140A
>>> Ann Arbor, Michigan 48103
>>>
>>> http://cohortfs.com
>>>
>>> tel.  734-761-4689
>>> fax.  734-769-8938
>>> cel.  734-216-5309
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe ceph-devel"
>>> in the body of a message to majordomo@vger.kernel.org More majordomo
>>> info at  http://vger.kernel.org/majordomo-info.html
>>>
>>>
>>
>> ________________________________
>>
>> PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>>
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

-- 
Loïc Dachary, Artisan Logiciel Libre


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: loadable objectstore
  2015-04-11 15:06       ` Loic Dachary
@ 2015-04-11 15:49         ` Sage Weil
  2015-04-11 16:07           ` Varada Kari
  0 siblings, 1 reply; 30+ messages in thread
From: Sage Weil @ 2015-04-11 15:49 UTC (permalink / raw
  To: Loic Dachary; +Cc: Varada Kari, Matt W. Benjamin, ceph-devel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 3883 bytes --]

On Sat, 11 Apr 2015, Loic Dachary wrote:
> Hi Sage,
> 
> It looks like common/PluginRegistry.{h,cc} are missing from 18ad8df1094db52c839dc6b2dc689fc882230acb

whoops pushed! :)

sage

> 
> Cheers
> 
> On 11/04/2015 16:51, Sage Weil wrote:
> > On Sat, 11 Apr 2015, Varada Kari wrote:
> >> Hi Matt/ Sage,
> >>
> >> Thanks for sharing the pull request. Will work on the items what sage 
> >> was mentioning in the comments along with the items in the tracker.
> > 
> > I pushed a wip-plugin branch with the pattern I had in mind... does this 
> > make sense?  It's only compile tested, and still needs preload() methods 
> > implemented so that long-running daemons (or perhaps others?) can preload 
> > it all at once.
> > 
> > Ideally we would replace ErasurePluginRegistry with this too, which means 
> > the naming of the .so's needs to be a bit more flexible as the EC plugin 
> > scheme is something like /usr/lib/ceph/erasure-code/libec_$name.so (not a 
> > strict function of type and name).  Or actually, we can just rename the 
> > EC .so's when this goes in?  Since they're explicitly incompatible 
> > between versions there is no reason the names need to remain 
> > consistent...
> > 
> > sage
> > 
> >>
> >> Varada
> >>
> >> -----Original Message-----
> >> From: Sage Weil [mailto:sage@newdream.net]
> >> Sent: Saturday, April 11, 2015 4:16 AM
> >> To: Matt W. Benjamin
> >> Cc: Varada Kari; ceph-devel
> >> Subject: Re: loadable objectstore
> >>
> >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> >>> Hi Varada,
> >>>
> >>> I pushed branch hammer-osfactory to
> >>> https://github.com/linuxbox2/ceph.git
> >>>
> >>> It can at least provide a starting point for discussion, if not a
> >>> jumping off point;  I do think it's basically what Sage described.
> >>
> >> I made a few comments on the pull request.  I think a factory class is the way to go, but we should be able to make the plugin loading part generic and not interface specific at all...
> >>
> >> sage
> >>
> >>>
> >>> I was able to update the CMake build system to build the tree, I
> >>> haven't attempted Autotools. :(
> >>>
> >>> Regards,
> >>>
> >>> Matt
> >>>
> >>> --
> >>> Matt Benjamin
> >>> CohortFS, LLC.
> >>> 315 West Huron Street, Suite 140A
> >>> Ann Arbor, Michigan 48103
> >>>
> >>> http://cohortfs.com
> >>>
> >>> tel.  734-761-4689
> >>> fax.  734-769-8938
> >>> cel.  734-216-5309
> >>> --
> >>> To unsubscribe from this list: send the line "unsubscribe ceph-devel"
> >>> in the body of a message to majordomo@vger.kernel.org More majordomo
> >>> info at  http://vger.kernel.org/majordomo-info.html
> >>>
> >>>
> >>
> >> ________________________________
> >>
> >> PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).
> >>
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> >> the body of a message to majordomo@vger.kernel.org
> >> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >>
> >>
> > --
> > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > 
> 
> -- 
> Loïc Dachary, Artisan Logiciel Libre
> 
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-04-11 15:49         ` Sage Weil
@ 2015-04-11 16:07           ` Varada Kari
  2015-05-11 23:41             ` Sage Weil
  0 siblings, 1 reply; 30+ messages in thread
From: Varada Kari @ 2015-04-11 16:07 UTC (permalink / raw
  To: Sage Weil, Loic Dachary; +Cc: Matt W. Benjamin, ceph-devel

Thanks Sage and Loic. Will add the missing pieces and integrate the object factory and plugin changes. 

Varada

-----Original Message-----
From: Sage Weil [mailto:sage@newdream.net] 
Sent: Saturday, April 11, 2015 9:19 PM
To: Loic Dachary
Cc: Varada Kari; Matt W. Benjamin; ceph-devel
Subject: Re: loadable objectstore

On Sat, 11 Apr 2015, Loic Dachary wrote:
> Hi Sage,
> 
> It looks like common/PluginRegistry.{h,cc} are missing from 
> 18ad8df1094db52c839dc6b2dc689fc882230acb

whoops pushed! :)

sage

> 
> Cheers
> 
> On 11/04/2015 16:51, Sage Weil wrote:
> > On Sat, 11 Apr 2015, Varada Kari wrote:
> >> Hi Matt/ Sage,
> >>
> >> Thanks for sharing the pull request. Will work on the items what 
> >> sage was mentioning in the comments along with the items in the tracker.
> > 
> > I pushed a wip-plugin branch with the pattern I had in mind... does 
> > this make sense?  It's only compile tested, and still needs 
> > preload() methods implemented so that long-running daemons (or 
> > perhaps others?) can preload it all at once.
> > 
> > Ideally we would replace ErasurePluginRegistry with this too, which 
> > means the naming of the .so's needs to be a bit more flexible as the 
> > EC plugin scheme is something like 
> > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict function of 
> > type and name).  Or actually, we can just rename the EC .so's when 
> > this goes in?  Since they're explicitly incompatible between 
> > versions there is no reason the names need to remain consistent...
> > 
> > sage
> > 
> >>
> >> Varada
> >>
> >> -----Original Message-----
> >> From: Sage Weil [mailto:sage@newdream.net]
> >> Sent: Saturday, April 11, 2015 4:16 AM
> >> To: Matt W. Benjamin
> >> Cc: Varada Kari; ceph-devel
> >> Subject: Re: loadable objectstore
> >>
> >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> >>> Hi Varada,
> >>>
> >>> I pushed branch hammer-osfactory to 
> >>> https://github.com/linuxbox2/ceph.git
> >>>
> >>> It can at least provide a starting point for discussion, if not a 
> >>> jumping off point;  I do think it's basically what Sage described.
> >>
> >> I made a few comments on the pull request.  I think a factory class is the way to go, but we should be able to make the plugin loading part generic and not interface specific at all...
> >>
> >> sage
> >>
> >>>
> >>> I was able to update the CMake build system to build the tree, I 
> >>> haven't attempted Autotools. :(
> >>>
> >>> Regards,
> >>>
> >>> Matt
> >>>
> >>> --
> >>> Matt Benjamin
> >>> CohortFS, LLC.
> >>> 315 West Huron Street, Suite 140A
> >>> Ann Arbor, Michigan 48103
> >>>
> >>> http://cohortfs.com
> >>>
> >>> tel.  734-761-4689
> >>> fax.  734-769-8938
> >>> cel.  734-216-5309
> >>> --
> >>> To unsubscribe from this list: send the line "unsubscribe ceph-devel"
> >>> in the body of a message to majordomo@vger.kernel.org More 
> >>> majordomo info at  http://vger.kernel.org/majordomo-info.html
> >>>
> >>>
> >>
> >> ________________________________
> >>
> >> PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).
> >>
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe 
> >> ceph-devel" in the body of a message to majordomo@vger.kernel.org 
> >> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >>
> >>
> > --
> > To unsubscribe from this list: send the line "unsubscribe 
> > ceph-devel" in the body of a message to majordomo@vger.kernel.org 
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > 
> 
> --
> Loïc Dachary, Artisan Logiciel Libre
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: loadable objectstore
  2015-04-11 14:51     ` Sage Weil
  2015-04-11 15:06       ` Loic Dachary
@ 2015-04-13 16:09       ` Matt W. Benjamin
  1 sibling, 0 replies; 30+ messages in thread
From: Matt W. Benjamin @ 2015-04-13 16:09 UTC (permalink / raw
  To: Sage Weil; +Cc: ceph-devel, Varada Kari

Seems good to me.

----- "Sage Weil" <sage@newdream.net> wrote:

> On Sat, 11 Apr 2015, Varada Kari wrote:
> > Hi Matt/ Sage,
> > 
> > Thanks for sharing the pull request. Will work on the items what
> sage 
> > was mentioning in the comments along with the items in the tracker.
> 
> I pushed a wip-plugin branch with the pattern I had in mind... does
> this 
> make sense?  It's only compile tested, and still needs preload()
> methods 
> implemented so that long-running daemons (or perhaps others?) can
> preload 
> it all at once.
> 

Matt

-- 
Matt Benjamin
CohortFS, LLC.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://cohortfs.com

tel.  734-761-4689 
fax.  734-769-8938 
cel.  734-216-5309 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-04-11 16:07           ` Varada Kari
@ 2015-05-11 23:41             ` Sage Weil
  2015-05-12  1:49               ` Varada Kari
  2015-06-22 11:23               ` Varada Kari
  0 siblings, 2 replies; 30+ messages in thread
From: Sage Weil @ 2015-05-11 23:41 UTC (permalink / raw
  To: Varada Kari; +Cc: Loic Dachary, Matt W. Benjamin, ceph-devel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 4769 bytes --]

Hi Varada,

Any progress on this?

Thanks!
sage

On Sat, 11 Apr 2015, Varada Kari wrote:

> Thanks Sage and Loic. Will add the missing pieces and integrate the object factory and plugin changes. 
> 
> Varada
> 
> -----Original Message-----
> From: Sage Weil [mailto:sage@newdream.net] 
> Sent: Saturday, April 11, 2015 9:19 PM
> To: Loic Dachary
> Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> Subject: Re: loadable objectstore
> 
> On Sat, 11 Apr 2015, Loic Dachary wrote:
> > Hi Sage,
> > 
> > It looks like common/PluginRegistry.{h,cc} are missing from 
> > 18ad8df1094db52c839dc6b2dc689fc882230acb
> 
> whoops pushed! :)
> 
> sage
> 
> > 
> > Cheers
> > 
> > On 11/04/2015 16:51, Sage Weil wrote:
> > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > >> Hi Matt/ Sage,
> > >>
> > >> Thanks for sharing the pull request. Will work on the items what 
> > >> sage was mentioning in the comments along with the items in the tracker.
> > > 
> > > I pushed a wip-plugin branch with the pattern I had in mind... does 
> > > this make sense?  It's only compile tested, and still needs 
> > > preload() methods implemented so that long-running daemons (or 
> > > perhaps others?) can preload it all at once.
> > > 
> > > Ideally we would replace ErasurePluginRegistry with this too, which 
> > > means the naming of the .so's needs to be a bit more flexible as the 
> > > EC plugin scheme is something like 
> > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict function of 
> > > type and name).  Or actually, we can just rename the EC .so's when 
> > > this goes in?  Since they're explicitly incompatible between 
> > > versions there is no reason the names need to remain consistent...
> > > 
> > > sage
> > > 
> > >>
> > >> Varada
> > >>
> > >> -----Original Message-----
> > >> From: Sage Weil [mailto:sage@newdream.net]
> > >> Sent: Saturday, April 11, 2015 4:16 AM
> > >> To: Matt W. Benjamin
> > >> Cc: Varada Kari; ceph-devel
> > >> Subject: Re: loadable objectstore
> > >>
> > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > >>> Hi Varada,
> > >>>
> > >>> I pushed branch hammer-osfactory to 
> > >>> https://github.com/linuxbox2/ceph.git
> > >>>
> > >>> It can at least provide a starting point for discussion, if not a 
> > >>> jumping off point;  I do think it's basically what Sage described.
> > >>
> > >> I made a few comments on the pull request.  I think a factory class is the way to go, but we should be able to make the plugin loading part generic and not interface specific at all...
> > >>
> > >> sage
> > >>
> > >>>
> > >>> I was able to update the CMake build system to build the tree, I 
> > >>> haven't attempted Autotools. :(
> > >>>
> > >>> Regards,
> > >>>
> > >>> Matt
> > >>>
> > >>> --
> > >>> Matt Benjamin
> > >>> CohortFS, LLC.
> > >>> 315 West Huron Street, Suite 140A
> > >>> Ann Arbor, Michigan 48103
> > >>>
> > >>> http://cohortfs.com
> > >>>
> > >>> tel.  734-761-4689
> > >>> fax.  734-769-8938
> > >>> cel.  734-216-5309
> > >>> --
> > >>> To unsubscribe from this list: send the line "unsubscribe ceph-devel"
> > >>> in the body of a message to majordomo@vger.kernel.org More 
> > >>> majordomo info at  http://vger.kernel.org/majordomo-info.html
> > >>>
> > >>>
> > >>
> > >> ________________________________
> > >>
> > >> PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).
> > >>
> > >> --
> > >> To unsubscribe from this list: send the line "unsubscribe 
> > >> ceph-devel" in the body of a message to majordomo@vger.kernel.org 
> > >> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > >>
> > >>
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe 
> > > ceph-devel" in the body of a message to majordomo@vger.kernel.org 
> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > 
> > 
> > --
> > Loïc Dachary, Artisan Logiciel Libre
> > 
> > 
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-05-11 23:41             ` Sage Weil
@ 2015-05-12  1:49               ` Varada Kari
  2015-06-22 11:23               ` Varada Kari
  1 sibling, 0 replies; 30+ messages in thread
From: Varada Kari @ 2015-05-12  1:49 UTC (permalink / raw
  To: Sage Weil; +Cc: Loic Dachary, Matt W. Benjamin, ceph-devel

Hi Sage,

Sorry for the delay. Just started working on this. Will send some update soon. Been busy with other tasks.

Varada

-----Original Message-----
From: Sage Weil [mailto:sage@newdream.net] 
Sent: Tuesday, May 12, 2015 5:11 AM
To: Varada Kari
Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
Subject: RE: loadable objectstore

Hi Varada,

Any progress on this?

Thanks!
sage

On Sat, 11 Apr 2015, Varada Kari wrote:

> Thanks Sage and Loic. Will add the missing pieces and integrate the object factory and plugin changes. 
> 
> Varada
> 
> -----Original Message-----
> From: Sage Weil [mailto:sage@newdream.net]
> Sent: Saturday, April 11, 2015 9:19 PM
> To: Loic Dachary
> Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> Subject: Re: loadable objectstore
> 
> On Sat, 11 Apr 2015, Loic Dachary wrote:
> > Hi Sage,
> > 
> > It looks like common/PluginRegistry.{h,cc} are missing from 
> > 18ad8df1094db52c839dc6b2dc689fc882230acb
> 
> whoops pushed! :)
> 
> sage
> 
> > 
> > Cheers
> > 
> > On 11/04/2015 16:51, Sage Weil wrote:
> > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > >> Hi Matt/ Sage,
> > >>
> > >> Thanks for sharing the pull request. Will work on the items what 
> > >> sage was mentioning in the comments along with the items in the tracker.
> > > 
> > > I pushed a wip-plugin branch with the pattern I had in mind... 
> > > does this make sense?  It's only compile tested, and still needs
> > > preload() methods implemented so that long-running daemons (or 
> > > perhaps others?) can preload it all at once.
> > > 
> > > Ideally we would replace ErasurePluginRegistry with this too, 
> > > which means the naming of the .so's needs to be a bit more 
> > > flexible as the EC plugin scheme is something like 
> > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict function 
> > > of type and name).  Or actually, we can just rename the EC .so's 
> > > when this goes in?  Since they're explicitly incompatible between 
> > > versions there is no reason the names need to remain consistent...
> > > 
> > > sage
> > > 
> > >>
> > >> Varada
> > >>
> > >> -----Original Message-----
> > >> From: Sage Weil [mailto:sage@newdream.net]
> > >> Sent: Saturday, April 11, 2015 4:16 AM
> > >> To: Matt W. Benjamin
> > >> Cc: Varada Kari; ceph-devel
> > >> Subject: Re: loadable objectstore
> > >>
> > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > >>> Hi Varada,
> > >>>
> > >>> I pushed branch hammer-osfactory to 
> > >>> https://github.com/linuxbox2/ceph.git
> > >>>
> > >>> It can at least provide a starting point for discussion, if not 
> > >>> a jumping off point;  I do think it's basically what Sage described.
> > >>
> > >> I made a few comments on the pull request.  I think a factory class is the way to go, but we should be able to make the plugin loading part generic and not interface specific at all...
> > >>
> > >> sage
> > >>
> > >>>
> > >>> I was able to update the CMake build system to build the tree, I 
> > >>> haven't attempted Autotools. :(
> > >>>
> > >>> Regards,
> > >>>
> > >>> Matt
> > >>>
> > >>> --
> > >>> Matt Benjamin
> > >>> CohortFS, LLC.
> > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > >>>
> > >>> http://cohortfs.com
> > >>>
> > >>> tel.  734-761-4689
> > >>> fax.  734-769-8938
> > >>> cel.  734-216-5309
> > >>> --
> > >>> To unsubscribe from this list: send the line "unsubscribe ceph-devel"
> > >>> in the body of a message to majordomo@vger.kernel.org More 
> > >>> majordomo info at  http://vger.kernel.org/majordomo-info.html
> > >>>
> > >>>
> > >>
> > >> ________________________________
> > >>
> > >> PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).
> > >>
> > >> --
> > >> To unsubscribe from this list: send the line "unsubscribe 
> > >> ceph-devel" in the body of a message to majordomo@vger.kernel.org 
> > >> More majordomo info at  
> > >> http://vger.kernel.org/majordomo-info.html
> > >>
> > >>
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe 
> > > ceph-devel" in the body of a message to majordomo@vger.kernel.org 
> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > 
> > 
> > --
> > Loïc Dachary, Artisan Logiciel Libre
> > 
> > 
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" 
> in the body of a message to majordomo@vger.kernel.org More majordomo 
> info at  http://vger.kernel.org/majordomo-info.html
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-05-11 23:41             ` Sage Weil
  2015-05-12  1:49               ` Varada Kari
@ 2015-06-22 11:23               ` Varada Kari
  1 sibling, 0 replies; 30+ messages in thread
From: Varada Kari @ 2015-06-22 11:23 UTC (permalink / raw
  To: Sage Weil; +Cc: Loic Dachary, Matt W. Benjamin, ceph-devel

Hi Sage,

Please find the initial implementation of objects store factory (initial cut) at https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ede4f189ec7e1c8  
This is still work in progress branch. Right now I am facing Lttng issues, 
LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate registration of tracepoint probes having the same name is not allowed.

Might be an issue with libcommon inclusion. Trying resolving the issue now. Seems I need to make libcommon also as a shared object to avoid the duplicates, static linking is a problem here.
Any suggestions or comments on this problem?


I have commented out test binary (ceph_test_keyvaluedb_atomicity) compilation, due to unresolved symbols for g_ceph_context and g_conf. Not able to fix/workaround the problem so far.

Can you please review if this is what in your mind for the factory implementation? 

We can extend this implementation to messenger and different backend of the OSD. Will make those incremental once the base framework is approved. 

Thanks,
Varada



-----Original Message-----
From: Sage Weil [mailto:sage@newdream.net] 
Sent: Tuesday, May 12, 2015 5:11 AM
To: Varada Kari
Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
Subject: RE: loadable objectstore

Hi Varada,

Any progress on this?

Thanks!
sage

On Sat, 11 Apr 2015, Varada Kari wrote:

> Thanks Sage and Loic. Will add the missing pieces and integrate the object factory and plugin changes. 
> 
> Varada
> 
> -----Original Message-----
> From: Sage Weil [mailto:sage@newdream.net]
> Sent: Saturday, April 11, 2015 9:19 PM
> To: Loic Dachary
> Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> Subject: Re: loadable objectstore
> 
> On Sat, 11 Apr 2015, Loic Dachary wrote:
> > Hi Sage,
> > 
> > It looks like common/PluginRegistry.{h,cc} are missing from 
> > 18ad8df1094db52c839dc6b2dc689fc882230acb
> 
> whoops pushed! :)
> 
> sage
> 
> > 
> > Cheers
> > 
> > On 11/04/2015 16:51, Sage Weil wrote:
> > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > >> Hi Matt/ Sage,
> > >>
> > >> Thanks for sharing the pull request. Will work on the items what 
> > >> sage was mentioning in the comments along with the items in the tracker.
> > > 
> > > I pushed a wip-plugin branch with the pattern I had in mind... 
> > > does this make sense?  It's only compile tested, and still needs
> > > preload() methods implemented so that long-running daemons (or 
> > > perhaps others?) can preload it all at once.
> > > 
> > > Ideally we would replace ErasurePluginRegistry with this too, 
> > > which means the naming of the .so's needs to be a bit more 
> > > flexible as the EC plugin scheme is something like 
> > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict function 
> > > of type and name).  Or actually, we can just rename the EC .so's 
> > > when this goes in?  Since they're explicitly incompatible between 
> > > versions there is no reason the names need to remain consistent...
> > > 
> > > sage
> > > 
> > >>
> > >> Varada
> > >>
> > >> -----Original Message-----
> > >> From: Sage Weil [mailto:sage@newdream.net]
> > >> Sent: Saturday, April 11, 2015 4:16 AM
> > >> To: Matt W. Benjamin
> > >> Cc: Varada Kari; ceph-devel
> > >> Subject: Re: loadable objectstore
> > >>
> > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > >>> Hi Varada,
> > >>>
> > >>> I pushed branch hammer-osfactory to 
> > >>> https://github.com/linuxbox2/ceph.git
> > >>>
> > >>> It can at least provide a starting point for discussion, if not 
> > >>> a jumping off point;  I do think it's basically what Sage described.
> > >>
> > >> I made a few comments on the pull request.  I think a factory class is the way to go, but we should be able to make the plugin loading part generic and not interface specific at all...
> > >>
> > >> sage
> > >>
> > >>>
> > >>> I was able to update the CMake build system to build the tree, I 
> > >>> haven't attempted Autotools. :(
> > >>>
> > >>> Regards,
> > >>>
> > >>> Matt
> > >>>
> > >>> --
> > >>> Matt Benjamin
> > >>> CohortFS, LLC.
> > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > >>>
> > >>> http://cohortfs.com
> > >>>
> > >>> tel.  734-761-4689
> > >>> fax.  734-769-8938
> > >>> cel.  734-216-5309
> > >>> --
> > >>> To unsubscribe from this list: send the line "unsubscribe ceph-devel"
> > >>> in the body of a message to majordomo@vger.kernel.org More 
> > >>> majordomo info at  http://vger.kernel.org/majordomo-info.html
> > >>>
> > >>>
> > >>
> > >> ________________________________
> > >>
> > >> PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).
> > >>
> > >> --
> > >> To unsubscribe from this list: send the line "unsubscribe 
> > >> ceph-devel" in the body of a message to majordomo@vger.kernel.org 
> > >> More majordomo info at  
> > >> http://vger.kernel.org/majordomo-info.html
> > >>
> > >>
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe 
> > > ceph-devel" in the body of a message to majordomo@vger.kernel.org 
> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > 
> > 
> > --
> > Loïc Dachary, Artisan Logiciel Libre
> > 
> > 
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" 
> in the body of a message to majordomo@vger.kernel.org More majordomo 
> info at  http://vger.kernel.org/majordomo-info.html
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: loadable objectstore
       [not found] <1615100301.29.1434984131967.JavaMail.root@thunderbeast.private.linuxbox.com>
@ 2015-06-22 15:07 ` Matt W. Benjamin
  2015-06-22 15:27   ` Varada Kari
  0 siblings, 1 reply; 30+ messages in thread
From: Matt W. Benjamin @ 2015-06-22 15:07 UTC (permalink / raw
  To: Varada Kari; +Cc: Loic Dachary, ceph-devel, Sage Weil

Hi,

It's just aesthetic, but it feels clunky to change the names
of well known modules to <something>Plugin--esp. if that generalizes forward to
new loadable modules (and we have a lot of loadable interfaces).

Matt

----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:

> Hi Sage,
> 
> Please find the initial implementation of objects store factory
> (initial cut) at
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ede4f189ec7e1c8
>  
> This is still work in progress branch. Right now I am facing Lttng
> issues, 
> LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate
> registration of tracepoint probes having the same name is not
> allowed.
> 
> Might be an issue with libcommon inclusion. Trying resolving the issue
> now. Seems I need to make libcommon also as a shared object to avoid
> the duplicates, static linking is a problem here.
> Any suggestions or comments on this problem?
> 
> 
> I have commented out test binary (ceph_test_keyvaluedb_atomicity)
> compilation, due to unresolved symbols for g_ceph_context and g_conf.
> Not able to fix/workaround the problem so far.
> 
> Can you please review if this is what in your mind for the factory
> implementation? 
> 
> We can extend this implementation to messenger and different backend
> of the OSD. Will make those incremental once the base framework is
> approved. 
> 
> Thanks,
> Varada
> 
> 
> 
> -----Original Message-----
> From: Sage Weil [mailto:sage@newdream.net] 
> Sent: Tuesday, May 12, 2015 5:11 AM
> To: Varada Kari
> Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> Subject: RE: loadable objectstore
> 
> Hi Varada,
> 
> Any progress on this?
> 
> Thanks!
> sage
> 
> On Sat, 11 Apr 2015, Varada Kari wrote:
> 
> > Thanks Sage and Loic. Will add the missing pieces and integrate the
> object factory and plugin changes. 
> > 
> > Varada
> > 
> > -----Original Message-----
> > From: Sage Weil [mailto:sage@newdream.net]
> > Sent: Saturday, April 11, 2015 9:19 PM
> > To: Loic Dachary
> > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > Subject: Re: loadable objectstore
> > 
> > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > Hi Sage,
> > > 
> > > It looks like common/PluginRegistry.{h,cc} are missing from 
> > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> > 
> > whoops pushed! :)
> > 
> > sage
> > 
> > > 
> > > Cheers
> > > 
> > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > >> Hi Matt/ Sage,
> > > >>
> > > >> Thanks for sharing the pull request. Will work on the items
> what 
> > > >> sage was mentioning in the comments along with the items in the
> tracker.
> > > > 
> > > > I pushed a wip-plugin branch with the pattern I had in mind... 
> > > > does this make sense?  It's only compile tested, and still
> needs
> > > > preload() methods implemented so that long-running daemons (or 
> > > > perhaps others?) can preload it all at once.
> > > > 
> > > > Ideally we would replace ErasurePluginRegistry with this too, 
> > > > which means the naming of the .so's needs to be a bit more 
> > > > flexible as the EC plugin scheme is something like 
> > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict function
> 
> > > > of type and name).  Or actually, we can just rename the EC .so's
> 
> > > > when this goes in?  Since they're explicitly incompatible
> between 
> > > > versions there is no reason the names need to remain
> consistent...
> > > > 
> > > > sage
> > > > 
> > > >>
> > > >> Varada
> > > >>
> > > >> -----Original Message-----
> > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > >> To: Matt W. Benjamin
> > > >> Cc: Varada Kari; ceph-devel
> > > >> Subject: Re: loadable objectstore
> > > >>
> > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > >>> Hi Varada,
> > > >>>
> > > >>> I pushed branch hammer-osfactory to 
> > > >>> https://github.com/linuxbox2/ceph.git
> > > >>>
> > > >>> It can at least provide a starting point for discussion, if
> not 
> > > >>> a jumping off point;  I do think it's basically what Sage
> described.
> > > >>
> > > >> I made a few comments on the pull request.  I think a factory
> class is the way to go, but we should be able to make the plugin
> loading part generic and not interface specific at all...
> > > >>
> > > >> sage
> > > >>
> > > >>>
> > > >>> I was able to update the CMake build system to build the tree,
> I 
> > > >>> haven't attempted Autotools. :(
> > > >>>
> > > >>> Regards,
> > > >>>
> > > >>> Matt
> > > >>>
> > > >>> --
> > > >>> Matt Benjamin
> > > >>> CohortFS, LLC.
> > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > > >>>
> > > >>> http://cohortfs.com
> > > >>>
> > > >>> tel.  734-761-4689
> > > >>> fax.  734-769-8938
> > > >>> cel.  734-216-5309
> > > >>> --
> > > >>> To unsubscribe from this list: send the line "unsubscribe
> ceph-devel"
> > > >>> in the body of a message to majordomo@vger.kernel.org More 
> > > >>> majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > >>>
> > > >>>
> > > >>
> > > >> ________________________________
> > > >>
> > > >> PLEASE NOTE: The information contained in this electronic mail
> message is intended only for the use of the designated recipient(s)
> named above. If the reader of this message is not the intended
> recipient, you are hereby notified that you have received this message
> in error and that any review, dissemination, distribution, or copying
> of this message is strictly prohibited. If you have received this
> communication in error, please notify the sender by telephone or
> e-mail (as shown above) immediately and destroy any and all copies of
> this message in your possession (whether hard copies or electronically
> stored copies).
> > > >>
> > > >> --
> > > >> To unsubscribe from this list: send the line "unsubscribe 
> > > >> ceph-devel" in the body of a message to
> majordomo@vger.kernel.org 
> > > >> More majordomo info at  
> > > >> http://vger.kernel.org/majordomo-info.html
> > > >>
> > > >>
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe 
> > > > ceph-devel" in the body of a message to
> majordomo@vger.kernel.org 
> > > > More majordomo info at 
> http://vger.kernel.org/majordomo-info.html
> > > > 
> > > 
> > > --
> > > Loïc Dachary, Artisan Logiciel Libre
> > > 
> > > 
> > --
> > To unsubscribe from this list: send the line "unsubscribe
> ceph-devel" 
> > in the body of a message to majordomo@vger.kernel.org More majordomo
> 
> > info at  http://vger.kernel.org/majordomo-info.html
> > 
> >

-- 
Matt Benjamin
CohortFS, LLC.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://cohortfs.com

tel.  734-761-4689 
fax.  734-769-8938 
cel.  734-216-5309 
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-06-22 15:07 ` loadable objectstore Matt W. Benjamin
@ 2015-06-22 15:27   ` Varada Kari
  2015-06-22 16:08     ` Adam C. Emerson
  2015-06-26 10:03     ` Varada Kari
  0 siblings, 2 replies; 30+ messages in thread
From: Varada Kari @ 2015-06-22 15:27 UTC (permalink / raw
  To: Matt W. Benjamin; +Cc: Loic Dachary, ceph-devel, Sage Weil

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 8221 bytes --]

Hi Matt,

Majority of the changes are segregating the files to corresponding shared object and creating a factory object. And the naming is mostly taken from Erasure-coding plugins. Want a good naming convention :-), hence a preliminary review. Do agree, we have lot of loadable interfaces, and I think we are in the way of making them on-demand (if possible) loadable modules.

Varada

-----Original Message-----
From: Matt W. Benjamin [mailto:matt@cohortfs.com]
Sent: Monday, June 22, 2015 8:37 PM
To: Varada Kari
Cc: Loic Dachary; ceph-devel; Sage Weil
Subject: Re: loadable objectstore

Hi,

It's just aesthetic, but it feels clunky to change the names of well known modules to <something>Plugin--esp. if that generalizes forward to new loadable modules (and we have a lot of loadable interfaces).

Matt

----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:

> Hi Sage,
>
> Please find the initial implementation of objects store factory
> (initial cut) at
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ede
> 4f189ec7e1c8
>
> This is still work in progress branch. Right now I am facing Lttng
> issues,
> LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate
> registration of tracepoint probes having the same name is not allowed.
>
> Might be an issue with libcommon inclusion. Trying resolving the issue
> now. Seems I need to make libcommon also as a shared object to avoid
> the duplicates, static linking is a problem here.
> Any suggestions or comments on this problem?
>
>
> I have commented out test binary (ceph_test_keyvaluedb_atomicity)
> compilation, due to unresolved symbols for g_ceph_context and g_conf.
> Not able to fix/workaround the problem so far.
>
> Can you please review if this is what in your mind for the factory
> implementation?
>
> We can extend this implementation to messenger and different backend
> of the OSD. Will make those incremental once the base framework is
> approved.
>
> Thanks,
> Varada
>
>
>
> -----Original Message-----
> From: Sage Weil [mailto:sage@newdream.net]
> Sent: Tuesday, May 12, 2015 5:11 AM
> To: Varada Kari
> Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> Subject: RE: loadable objectstore
>
> Hi Varada,
>
> Any progress on this?
>
> Thanks!
> sage
>
> On Sat, 11 Apr 2015, Varada Kari wrote:
>
> > Thanks Sage and Loic. Will add the missing pieces and integrate the
> object factory and plugin changes.
> >
> > Varada
> >
> > -----Original Message-----
> > From: Sage Weil [mailto:sage@newdream.net]
> > Sent: Saturday, April 11, 2015 9:19 PM
> > To: Loic Dachary
> > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > Subject: Re: loadable objectstore
> >
> > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > Hi Sage,
> > >
> > > It looks like common/PluginRegistry.{h,cc} are missing from
> > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> >
> > whoops pushed! :)
> >
> > sage
> >
> > >
> > > Cheers
> > >
> > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > >> Hi Matt/ Sage,
> > > >>
> > > >> Thanks for sharing the pull request. Will work on the items
> what
> > > >> sage was mentioning in the comments along with the items in the
> tracker.
> > > >
> > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > does this make sense?  It's only compile tested, and still
> needs
> > > > preload() methods implemented so that long-running daemons (or
> > > > perhaps others?) can preload it all at once.
> > > >
> > > > Ideally we would replace ErasurePluginRegistry with this too,
> > > > which means the naming of the .so's needs to be a bit more
> > > > flexible as the EC plugin scheme is something like
> > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict function
>
> > > > of type and name).  Or actually, we can just rename the EC .so's
>
> > > > when this goes in?  Since they're explicitly incompatible
> between
> > > > versions there is no reason the names need to remain
> consistent...
> > > >
> > > > sage
> > > >
> > > >>
> > > >> Varada
> > > >>
> > > >> -----Original Message-----
> > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > >> To: Matt W. Benjamin
> > > >> Cc: Varada Kari; ceph-devel
> > > >> Subject: Re: loadable objectstore
> > > >>
> > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > >>> Hi Varada,
> > > >>>
> > > >>> I pushed branch hammer-osfactory to
> > > >>> https://github.com/linuxbox2/ceph.git
> > > >>>
> > > >>> It can at least provide a starting point for discussion, if
> not
> > > >>> a jumping off point;  I do think it's basically what Sage
> described.
> > > >>
> > > >> I made a few comments on the pull request.  I think a factory
> class is the way to go, but we should be able to make the plugin
> loading part generic and not interface specific at all...
> > > >>
> > > >> sage
> > > >>
> > > >>>
> > > >>> I was able to update the CMake build system to build the tree,
> I
> > > >>> haven't attempted Autotools. :(
> > > >>>
> > > >>> Regards,
> > > >>>
> > > >>> Matt
> > > >>>
> > > >>> --
> > > >>> Matt Benjamin
> > > >>> CohortFS, LLC.
> > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > > >>>
> > > >>> http://cohortfs.com
> > > >>>
> > > >>> tel.  734-761-4689
> > > >>> fax.  734-769-8938
> > > >>> cel.  734-216-5309
> > > >>> --
> > > >>> To unsubscribe from this list: send the line "unsubscribe
> ceph-devel"
> > > >>> in the body of a message to majordomo@vger.kernel.org More
> > > >>> majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > >>>
> > > >>>
> > > >>
> > > >> ________________________________
> > > >>
> > > >> PLEASE NOTE: The information contained in this electronic mail
> message is intended only for the use of the designated recipient(s)
> named above. If the reader of this message is not the intended
> recipient, you are hereby notified that you have received this message
> in error and that any review, dissemination, distribution, or copying
> of this message is strictly prohibited. If you have received this
> communication in error, please notify the sender by telephone or
> e-mail (as shown above) immediately and destroy any and all copies of
> this message in your possession (whether hard copies or electronically
> stored copies).
> > > >>
> > > >> --
> > > >> To unsubscribe from this list: send the line "unsubscribe
> > > >> ceph-devel" in the body of a message to
> majordomo@vger.kernel.org
> > > >> More majordomo info at
> > > >> http://vger.kernel.org/majordomo-info.html
> > > >>
> > > >>
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe
> > > > ceph-devel" in the body of a message to
> majordomo@vger.kernel.org
> > > > More majordomo info at
> http://vger.kernel.org/majordomo-info.html
> > > >
> > >
> > > --
> > > Loïc Dachary, Artisan Logiciel Libre
> > >
> > >
> > --
> > To unsubscribe from this list: send the line "unsubscribe
> ceph-devel"
> > in the body of a message to majordomo@vger.kernel.org More majordomo
>
> > info at  http://vger.kernel.org/majordomo-info.html
> >
> >

--
Matt Benjamin
CohortFS, LLC.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://cohortfs.com

tel.  734-761-4689
fax.  734-769-8938
cel.  734-216-5309

________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).

N‹§²æìr¸›yúèšØb²X¬¶Ç§vØ^–)Þº{.nÇ+‰·œz˜]z÷¥Š

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: loadable objectstore
  2015-06-22 15:27   ` Varada Kari
@ 2015-06-22 16:08     ` Adam C. Emerson
  2015-06-26 10:03     ` Varada Kari
  1 sibling, 0 replies; 30+ messages in thread
From: Adam C. Emerson @ 2015-06-22 16:08 UTC (permalink / raw
  To: Varada Kari; +Cc: Matt W. Benjamin, Loic Dachary, ceph-devel, Sage Weil

On 22/06/2015, Varada Kari wrote:
> Hi Matt,
> 
> Majority of the changes are segregating the files to corresponding shared object and creating a factory object. And the naming is mostly taken from Erasure-coding plugins. Want a good naming convention :-), hence a preliminary review. Do agree, we have lot of loadable interfaces, and I think we are in the way of making them on-demand (if possible) loadable modules.

Since we're planning on having loadable modules become the new normal, I
think it might be better to take 'Plugin' off the erasure coding classes
than to add it to all the others.
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-06-22 15:27   ` Varada Kari
  2015-06-22 16:08     ` Adam C. Emerson
@ 2015-06-26 10:03     ` Varada Kari
  2015-07-03 14:00       ` Varada Kari
  1 sibling, 1 reply; 30+ messages in thread
From: Varada Kari @ 2015-06-26 10:03 UTC (permalink / raw
  To: Sage Weil; +Cc: Loic Dachary, ceph-devel, Matt W. Benjamin

Hi,

Made some more changes to resolve lttng problems at https://github.com/varadakari/ceph/commits/wip-plugin.
But couldn’t by pass the issues. Facing some issues like mentioned below.

./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'

Compiling with -llttng-ust is not resolving the problem. Seen some threads in devel list before, mentioning this problem. 
Can anyone take a look and guide me to fix this problem?

Haven't made the changes to change the plugin name etc... will be making them as part of cleanup.

Thanks,
Varada

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Monday, June 22, 2015 8:57 PM
To: Matt W. Benjamin
Cc: Loic Dachary; ceph-devel; Sage Weil
Subject: RE: loadable objectstore

Hi Matt,

Majority of the changes are segregating the files to corresponding shared object and creating a factory object. And the naming is mostly taken from Erasure-coding plugins. Want a good naming convention :-), hence a preliminary review. Do agree, we have lot of loadable interfaces, and I think we are in the way of making them on-demand (if possible) loadable modules.

Varada

-----Original Message-----
From: Matt W. Benjamin [mailto:matt@cohortfs.com]
Sent: Monday, June 22, 2015 8:37 PM
To: Varada Kari
Cc: Loic Dachary; ceph-devel; Sage Weil
Subject: Re: loadable objectstore

Hi,

It's just aesthetic, but it feels clunky to change the names of well known modules to <something>Plugin--esp. if that generalizes forward to new loadable modules (and we have a lot of loadable interfaces).

Matt

----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:

> Hi Sage,
>
> Please find the initial implementation of objects store factory 
> (initial cut) at 
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ede
> 4f189ec7e1c8
>
> This is still work in progress branch. Right now I am facing Lttng 
> issues,
> LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate 
> registration of tracepoint probes having the same name is not allowed.
>
> Might be an issue with libcommon inclusion. Trying resolving the issue 
> now. Seems I need to make libcommon also as a shared object to avoid 
> the duplicates, static linking is a problem here.
> Any suggestions or comments on this problem?
>
>
> I have commented out test binary (ceph_test_keyvaluedb_atomicity) 
> compilation, due to unresolved symbols for g_ceph_context and g_conf.
> Not able to fix/workaround the problem so far.
>
> Can you please review if this is what in your mind for the factory 
> implementation?
>
> We can extend this implementation to messenger and different backend 
> of the OSD. Will make those incremental once the base framework is 
> approved.
>
> Thanks,
> Varada
>
>
>
> -----Original Message-----
> From: Sage Weil [mailto:sage@newdream.net]
> Sent: Tuesday, May 12, 2015 5:11 AM
> To: Varada Kari
> Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> Subject: RE: loadable objectstore
>
> Hi Varada,
>
> Any progress on this?
>
> Thanks!
> sage
>
> On Sat, 11 Apr 2015, Varada Kari wrote:
>
> > Thanks Sage and Loic. Will add the missing pieces and integrate the
> object factory and plugin changes.
> >
> > Varada
> >
> > -----Original Message-----
> > From: Sage Weil [mailto:sage@newdream.net]
> > Sent: Saturday, April 11, 2015 9:19 PM
> > To: Loic Dachary
> > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > Subject: Re: loadable objectstore
> >
> > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > Hi Sage,
> > >
> > > It looks like common/PluginRegistry.{h,cc} are missing from 
> > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> >
> > whoops pushed! :)
> >
> > sage
> >
> > >
> > > Cheers
> > >
> > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > >> Hi Matt/ Sage,
> > > >>
> > > >> Thanks for sharing the pull request. Will work on the items
> what
> > > >> sage was mentioning in the comments along with the items in the
> tracker.
> > > >
> > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > does this make sense?  It's only compile tested, and still
> needs
> > > > preload() methods implemented so that long-running daemons (or 
> > > > perhaps others?) can preload it all at once.
> > > >
> > > > Ideally we would replace ErasurePluginRegistry with this too, 
> > > > which means the naming of the .so's needs to be a bit more 
> > > > flexible as the EC plugin scheme is something like 
> > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict function
>
> > > > of type and name).  Or actually, we can just rename the EC .so's
>
> > > > when this goes in?  Since they're explicitly incompatible
> between
> > > > versions there is no reason the names need to remain
> consistent...
> > > >
> > > > sage
> > > >
> > > >>
> > > >> Varada
> > > >>
> > > >> -----Original Message-----
> > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > >> To: Matt W. Benjamin
> > > >> Cc: Varada Kari; ceph-devel
> > > >> Subject: Re: loadable objectstore
> > > >>
> > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > >>> Hi Varada,
> > > >>>
> > > >>> I pushed branch hammer-osfactory to 
> > > >>> https://github.com/linuxbox2/ceph.git
> > > >>>
> > > >>> It can at least provide a starting point for discussion, if
> not
> > > >>> a jumping off point;  I do think it's basically what Sage
> described.
> > > >>
> > > >> I made a few comments on the pull request.  I think a factory
> class is the way to go, but we should be able to make the plugin 
> loading part generic and not interface specific at all...
> > > >>
> > > >> sage
> > > >>
> > > >>>
> > > >>> I was able to update the CMake build system to build the tree,
> I
> > > >>> haven't attempted Autotools. :(
> > > >>>
> > > >>> Regards,
> > > >>>
> > > >>> Matt
> > > >>>
> > > >>> --
> > > >>> Matt Benjamin
> > > >>> CohortFS, LLC.
> > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > > >>>
> > > >>> http://cohortfs.com
> > > >>>
> > > >>> tel.  734-761-4689
> > > >>> fax.  734-769-8938
> > > >>> cel.  734-216-5309
> > > >>> --
> > > >>> To unsubscribe from this list: send the line "unsubscribe
> ceph-devel"
> > > >>> in the body of a message to majordomo@vger.kernel.org More 
> > > >>> majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > >>>
> > > >>>
> > > >>
> > > >> ________________________________
> > > >>
> > > >> PLEASE NOTE: The information contained in this electronic mail
> message is intended only for the use of the designated recipient(s) 
> named above. If the reader of this message is not the intended 
> recipient, you are hereby notified that you have received this message 
> in error and that any review, dissemination, distribution, or copying 
> of this message is strictly prohibited. If you have received this 
> communication in error, please notify the sender by telephone or 
> e-mail (as shown above) immediately and destroy any and all copies of 
> this message in your possession (whether hard copies or electronically 
> stored copies).
> > > >>
> > > >> --
> > > >> To unsubscribe from this list: send the line "unsubscribe 
> > > >> ceph-devel" in the body of a message to
> majordomo@vger.kernel.org
> > > >> More majordomo info at
> > > >> http://vger.kernel.org/majordomo-info.html
> > > >>
> > > >>
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe 
> > > > ceph-devel" in the body of a message to
> majordomo@vger.kernel.org
> > > > More majordomo info at
> http://vger.kernel.org/majordomo-info.html
> > > >
> > >
> > > --
> > > Loïc Dachary, Artisan Logiciel Libre
> > >
> > >
> > --
> > To unsubscribe from this list: send the line "unsubscribe
> ceph-devel"
> > in the body of a message to majordomo@vger.kernel.org More majordomo
>
> > info at  http://vger.kernel.org/majordomo-info.html
> >
> >

--
Matt Benjamin
CohortFS, LLC.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://cohortfs.com

tel.  734-761-4689
fax.  734-769-8938
cel.  734-216-5309

________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).

N     r  y   b X  ǧv ^ )޺{.n +   z ]z   

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-06-26 10:03     ` Varada Kari
@ 2015-07-03 14:00       ` Varada Kari
  2015-09-11 10:28         ` Varada Kari
  0 siblings, 1 reply; 30+ messages in thread
From: Varada Kari @ 2015-07-03 14:00 UTC (permalink / raw
  To: Sage Weil, Adam Crume; +Cc: Loic Dachary, ceph-devel, Matt W. Benjamin

Hi All,

Not able to make much progress after making common as a shared object along with object store. 
Compilation of the test binaries are failing with "./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'".

  CXXLD    ceph_streamtest
./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
collect2: error: ld returned 1 exit status
make[3]: *** [ceph_streamtest] Error 1

But libfilestore.so is linked with lttng-ust.

src/.libs$ ldd libceph_filestore.so
        libceph_keyvaluestore.so.1 => /home/varada/obs-factory/plugin-work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
        libceph_os.so.1 => /home/varada/obs-factory/plugin-work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
        libcommon.so.1 => /home/varada/ obs-factory/plugin-work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
        liblttng-ust.so.0 => /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0 (0x00007f5e4b179000)
        liblttng-ust-tracepoint.so.0 => /usr/lib/x86_64-linux-gnu/liblttng-ust-tracepoint.so.0 (0x00007f5e4a021000)
        liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
        liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1 (0x00007f5e49c12000)

Edited the above output just show the dependencies.  
Did anyone face this issue before? 
Any help would be much appreciated. 

Thanks,
Varada

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Friday, June 26, 2015 3:34 PM
To: Sage Weil
Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
Subject: RE: loadable objectstore

Hi,

Made some more changes to resolve lttng problems at https://github.com/varadakari/ceph/commits/wip-plugin.
But couldn’t by pass the issues. Facing some issues like mentioned below.

./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'

Compiling with -llttng-ust is not resolving the problem. Seen some threads in devel list before, mentioning this problem. 
Can anyone take a look and guide me to fix this problem?

Haven't made the changes to change the plugin name etc... will be making them as part of cleanup.

Thanks,
Varada

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Monday, June 22, 2015 8:57 PM
To: Matt W. Benjamin
Cc: Loic Dachary; ceph-devel; Sage Weil
Subject: RE: loadable objectstore

Hi Matt,

Majority of the changes are segregating the files to corresponding shared object and creating a factory object. And the naming is mostly taken from Erasure-coding plugins. Want a good naming convention :-), hence a preliminary review. Do agree, we have lot of loadable interfaces, and I think we are in the way of making them on-demand (if possible) loadable modules.

Varada

-----Original Message-----
From: Matt W. Benjamin [mailto:matt@cohortfs.com]
Sent: Monday, June 22, 2015 8:37 PM
To: Varada Kari
Cc: Loic Dachary; ceph-devel; Sage Weil
Subject: Re: loadable objectstore

Hi,

It's just aesthetic, but it feels clunky to change the names of well known modules to <something>Plugin--esp. if that generalizes forward to new loadable modules (and we have a lot of loadable interfaces).

Matt

----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:

> Hi Sage,
>
> Please find the initial implementation of objects store factory 
> (initial cut) at 
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ede
> 4f189ec7e1c8
>
> This is still work in progress branch. Right now I am facing Lttng 
> issues,
> LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate 
> registration of tracepoint probes having the same name is not allowed.
>
> Might be an issue with libcommon inclusion. Trying resolving the issue 
> now. Seems I need to make libcommon also as a shared object to avoid 
> the duplicates, static linking is a problem here.
> Any suggestions or comments on this problem?
>
>
> I have commented out test binary (ceph_test_keyvaluedb_atomicity) 
> compilation, due to unresolved symbols for g_ceph_context and g_conf.
> Not able to fix/workaround the problem so far.
>
> Can you please review if this is what in your mind for the factory 
> implementation?
>
> We can extend this implementation to messenger and different backend 
> of the OSD. Will make those incremental once the base framework is 
> approved.
>
> Thanks,
> Varada
>
>
>
> -----Original Message-----
> From: Sage Weil [mailto:sage@newdream.net]
> Sent: Tuesday, May 12, 2015 5:11 AM
> To: Varada Kari
> Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> Subject: RE: loadable objectstore
>
> Hi Varada,
>
> Any progress on this?
>
> Thanks!
> sage
>
> On Sat, 11 Apr 2015, Varada Kari wrote:
>
> > Thanks Sage and Loic. Will add the missing pieces and integrate the
> object factory and plugin changes.
> >
> > Varada
> >
> > -----Original Message-----
> > From: Sage Weil [mailto:sage@newdream.net]
> > Sent: Saturday, April 11, 2015 9:19 PM
> > To: Loic Dachary
> > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > Subject: Re: loadable objectstore
> >
> > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > Hi Sage,
> > >
> > > It looks like common/PluginRegistry.{h,cc} are missing from 
> > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> >
> > whoops pushed! :)
> >
> > sage
> >
> > >
> > > Cheers
> > >
> > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > >> Hi Matt/ Sage,
> > > >>
> > > >> Thanks for sharing the pull request. Will work on the items
> what
> > > >> sage was mentioning in the comments along with the items in the
> tracker.
> > > >
> > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > does this make sense?  It's only compile tested, and still
> needs
> > > > preload() methods implemented so that long-running daemons (or 
> > > > perhaps others?) can preload it all at once.
> > > >
> > > > Ideally we would replace ErasurePluginRegistry with this too, 
> > > > which means the naming of the .so's needs to be a bit more 
> > > > flexible as the EC plugin scheme is something like 
> > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict function
>
> > > > of type and name).  Or actually, we can just rename the EC .so's
>
> > > > when this goes in?  Since they're explicitly incompatible
> between
> > > > versions there is no reason the names need to remain
> consistent...
> > > >
> > > > sage
> > > >
> > > >>
> > > >> Varada
> > > >>
> > > >> -----Original Message-----
> > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > >> To: Matt W. Benjamin
> > > >> Cc: Varada Kari; ceph-devel
> > > >> Subject: Re: loadable objectstore
> > > >>
> > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > >>> Hi Varada,
> > > >>>
> > > >>> I pushed branch hammer-osfactory to 
> > > >>> https://github.com/linuxbox2/ceph.git
> > > >>>
> > > >>> It can at least provide a starting point for discussion, if
> not
> > > >>> a jumping off point;  I do think it's basically what Sage
> described.
> > > >>
> > > >> I made a few comments on the pull request.  I think a factory
> class is the way to go, but we should be able to make the plugin 
> loading part generic and not interface specific at all...
> > > >>
> > > >> sage
> > > >>
> > > >>>
> > > >>> I was able to update the CMake build system to build the tree,
> I
> > > >>> haven't attempted Autotools. :(
> > > >>>
> > > >>> Regards,
> > > >>>
> > > >>> Matt
> > > >>>
> > > >>> --
> > > >>> Matt Benjamin
> > > >>> CohortFS, LLC.
> > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > > >>>
> > > >>> http://cohortfs.com
> > > >>>
> > > >>> tel.  734-761-4689
> > > >>> fax.  734-769-8938
> > > >>> cel.  734-216-5309
> > > >>> --
> > > >>> To unsubscribe from this list: send the line "unsubscribe
> ceph-devel"
> > > >>> in the body of a message to majordomo@vger.kernel.org More 
> > > >>> majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > >>>
> > > >>>
> > > >>
> > > >> ________________________________
> > > >>
> > > >> PLEASE NOTE: The information contained in this electronic mail
> message is intended only for the use of the designated recipient(s) 
> named above. If the reader of this message is not the intended 
> recipient, you are hereby notified that you have received this message 
> in error and that any review, dissemination, distribution, or copying 
> of this message is strictly prohibited. If you have received this 
> communication in error, please notify the sender by telephone or 
> e-mail (as shown above) immediately and destroy any and all copies of 
> this message in your possession (whether hard copies or electronically 
> stored copies).
> > > >>
> > > >> --
> > > >> To unsubscribe from this list: send the line "unsubscribe 
> > > >> ceph-devel" in the body of a message to
> majordomo@vger.kernel.org
> > > >> More majordomo info at
> > > >> http://vger.kernel.org/majordomo-info.html
> > > >>
> > > >>
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe 
> > > > ceph-devel" in the body of a message to
> majordomo@vger.kernel.org
> > > > More majordomo info at
> http://vger.kernel.org/majordomo-info.html
> > > >
> > >
> > > --
> > > Loïc Dachary, Artisan Logiciel Libre
> > >
> > >
> > --
> > To unsubscribe from this list: send the line "unsubscribe
> ceph-devel"
> > in the body of a message to majordomo@vger.kernel.org More majordomo
>
> > info at  http://vger.kernel.org/majordomo-info.html
> >
> >

--
Matt Benjamin
CohortFS, LLC.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://cohortfs.com

tel.  734-761-4689
fax.  734-769-8938
cel.  734-216-5309

________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).

N     r  y   b X  ǧv ^ )޺{.n +   z ]z   
N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w       j:+v   w j m         zZ+     ݢj"  ! i

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-07-03 14:00       ` Varada Kari
@ 2015-09-11 10:28         ` Varada Kari
  2015-09-11 18:43           ` James (Fei) Liu-SSI
  2015-09-28 18:20           ` James (Fei) Liu-SSI
  0 siblings, 2 replies; 30+ messages in thread
From: Varada Kari @ 2015-09-11 10:28 UTC (permalink / raw
  To: Sage Weil, Matt W. Benjamin, Loic Dachary; +Cc: ceph-devel

Hi Sage/ Matt,

I have submitted the pull request based on wip-plugin branch for the object store factory implementation at https://github.com/ceph/ceph/pull/5884 . Haven't rebased to the master yet. Working on rebase and including new store in the factory implementation.  Please have a look and let me know your comments. Will submit a rebased PR soon with new store integration. 

Thanks,
Varada

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Friday, July 03, 2015 7:31 PM
To: Sage Weil <sage@newdream.net>; Adam Crume <adamcrume@gmail.com>
Cc: Loic Dachary <loic@dachary.org>; ceph-devel <ceph-devel@vger.kernel.org>; Matt W. Benjamin <matt@cohortfs.com>
Subject: RE: loadable objectstore

Hi All,

Not able to make much progress after making common as a shared object along with object store. 
Compilation of the test binaries are failing with "./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'".

  CXXLD    ceph_streamtest
./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
collect2: error: ld returned 1 exit status
make[3]: *** [ceph_streamtest] Error 1

But libfilestore.so is linked with lttng-ust.

src/.libs$ ldd libceph_filestore.so
        libceph_keyvaluestore.so.1 => /home/varada/obs-factory/plugin-work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
        libceph_os.so.1 => /home/varada/obs-factory/plugin-work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
        libcommon.so.1 => /home/varada/ obs-factory/plugin-work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
        liblttng-ust.so.0 => /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0 (0x00007f5e4b179000)
        liblttng-ust-tracepoint.so.0 => /usr/lib/x86_64-linux-gnu/liblttng-ust-tracepoint.so.0 (0x00007f5e4a021000)
        liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
        liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1 (0x00007f5e49c12000)

Edited the above output just show the dependencies.  
Did anyone face this issue before? 
Any help would be much appreciated. 

Thanks,
Varada

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Friday, June 26, 2015 3:34 PM
To: Sage Weil
Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
Subject: RE: loadable objectstore

Hi,

Made some more changes to resolve lttng problems at https://github.com/varadakari/ceph/commits/wip-plugin.
But couldn’t by pass the issues. Facing some issues like mentioned below.

./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'

Compiling with -llttng-ust is not resolving the problem. Seen some threads in devel list before, mentioning this problem. 
Can anyone take a look and guide me to fix this problem?

Haven't made the changes to change the plugin name etc... will be making them as part of cleanup.

Thanks,
Varada

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Monday, June 22, 2015 8:57 PM
To: Matt W. Benjamin
Cc: Loic Dachary; ceph-devel; Sage Weil
Subject: RE: loadable objectstore

Hi Matt,

Majority of the changes are segregating the files to corresponding shared object and creating a factory object. And the naming is mostly taken from Erasure-coding plugins. Want a good naming convention :-), hence a preliminary review. Do agree, we have lot of loadable interfaces, and I think we are in the way of making them on-demand (if possible) loadable modules.

Varada

-----Original Message-----
From: Matt W. Benjamin [mailto:matt@cohortfs.com]
Sent: Monday, June 22, 2015 8:37 PM
To: Varada Kari
Cc: Loic Dachary; ceph-devel; Sage Weil
Subject: Re: loadable objectstore

Hi,

It's just aesthetic, but it feels clunky to change the names of well known modules to <something>Plugin--esp. if that generalizes forward to new loadable modules (and we have a lot of loadable interfaces).

Matt

----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:

> Hi Sage,
>
> Please find the initial implementation of objects store factory 
> (initial cut) at 
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ede
> 4f189ec7e1c8
>
> This is still work in progress branch. Right now I am facing Lttng 
> issues,
> LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate 
> registration of tracepoint probes having the same name is not allowed.
>
> Might be an issue with libcommon inclusion. Trying resolving the issue 
> now. Seems I need to make libcommon also as a shared object to avoid 
> the duplicates, static linking is a problem here.
> Any suggestions or comments on this problem?
>
>
> I have commented out test binary (ceph_test_keyvaluedb_atomicity) 
> compilation, due to unresolved symbols for g_ceph_context and g_conf.
> Not able to fix/workaround the problem so far.
>
> Can you please review if this is what in your mind for the factory 
> implementation?
>
> We can extend this implementation to messenger and different backend 
> of the OSD. Will make those incremental once the base framework is 
> approved.
>
> Thanks,
> Varada
>
>
>
> -----Original Message-----
> From: Sage Weil [mailto:sage@newdream.net]
> Sent: Tuesday, May 12, 2015 5:11 AM
> To: Varada Kari
> Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> Subject: RE: loadable objectstore
>
> Hi Varada,
>
> Any progress on this?
>
> Thanks!
> sage
>
> On Sat, 11 Apr 2015, Varada Kari wrote:
>
> > Thanks Sage and Loic. Will add the missing pieces and integrate the
> object factory and plugin changes.
> >
> > Varada
> >
> > -----Original Message-----
> > From: Sage Weil [mailto:sage@newdream.net]
> > Sent: Saturday, April 11, 2015 9:19 PM
> > To: Loic Dachary
> > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > Subject: Re: loadable objectstore
> >
> > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > Hi Sage,
> > >
> > > It looks like common/PluginRegistry.{h,cc} are missing from 
> > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> >
> > whoops pushed! :)
> >
> > sage
> >
> > >
> > > Cheers
> > >
> > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > >> Hi Matt/ Sage,
> > > >>
> > > >> Thanks for sharing the pull request. Will work on the items
> what
> > > >> sage was mentioning in the comments along with the items in the
> tracker.
> > > >
> > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > does this make sense?  It's only compile tested, and still
> needs
> > > > preload() methods implemented so that long-running daemons (or 
> > > > perhaps others?) can preload it all at once.
> > > >
> > > > Ideally we would replace ErasurePluginRegistry with this too, 
> > > > which means the naming of the .so's needs to be a bit more 
> > > > flexible as the EC plugin scheme is something like 
> > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict function
>
> > > > of type and name).  Or actually, we can just rename the EC .so's
>
> > > > when this goes in?  Since they're explicitly incompatible
> between
> > > > versions there is no reason the names need to remain
> consistent...
> > > >
> > > > sage
> > > >
> > > >>
> > > >> Varada
> > > >>
> > > >> -----Original Message-----
> > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > >> To: Matt W. Benjamin
> > > >> Cc: Varada Kari; ceph-devel
> > > >> Subject: Re: loadable objectstore
> > > >>
> > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > >>> Hi Varada,
> > > >>>
> > > >>> I pushed branch hammer-osfactory to 
> > > >>> https://github.com/linuxbox2/ceph.git
> > > >>>
> > > >>> It can at least provide a starting point for discussion, if
> not
> > > >>> a jumping off point;  I do think it's basically what Sage
> described.
> > > >>
> > > >> I made a few comments on the pull request.  I think a factory
> class is the way to go, but we should be able to make the plugin 
> loading part generic and not interface specific at all...
> > > >>
> > > >> sage
> > > >>
> > > >>>
> > > >>> I was able to update the CMake build system to build the tree,
> I
> > > >>> haven't attempted Autotools. :(
> > > >>>
> > > >>> Regards,
> > > >>>
> > > >>> Matt
> > > >>>
> > > >>> --
> > > >>> Matt Benjamin
> > > >>> CohortFS, LLC.
> > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > > >>>
> > > >>> http://cohortfs.com
> > > >>>
> > > >>> tel.  734-761-4689
> > > >>> fax.  734-769-8938
> > > >>> cel.  734-216-5309
> > > >>> --
> > > >>> To unsubscribe from this list: send the line "unsubscribe
> ceph-devel"
> > > >>> in the body of a message to majordomo@vger.kernel.org More 
> > > >>> majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > >>>
> > > >>>
> > > >>
> > > >> ________________________________
> > > >>
> > > >> PLEASE NOTE: The information contained in this electronic mail
> message is intended only for the use of the designated recipient(s) 
> named above. If the reader of this message is not the intended 
> recipient, you are hereby notified that you have received this message 
> in error and that any review, dissemination, distribution, or copying 
> of this message is strictly prohibited. If you have received this 
> communication in error, please notify the sender by telephone or 
> e-mail (as shown above) immediately and destroy any and all copies of 
> this message in your possession (whether hard copies or electronically 
> stored copies).
> > > >>
> > > >> --
> > > >> To unsubscribe from this list: send the line "unsubscribe 
> > > >> ceph-devel" in the body of a message to
> majordomo@vger.kernel.org
> > > >> More majordomo info at
> > > >> http://vger.kernel.org/majordomo-info.html
> > > >>
> > > >>
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe 
> > > > ceph-devel" in the body of a message to
> majordomo@vger.kernel.org
> > > > More majordomo info at
> http://vger.kernel.org/majordomo-info.html
> > > >
> > >
> > > --
> > > Loïc Dachary, Artisan Logiciel Libre
> > >
> > >
> > --
> > To unsubscribe from this list: send the line "unsubscribe
> ceph-devel"
> > in the body of a message to majordomo@vger.kernel.org More majordomo
>
> > info at  http://vger.kernel.org/majordomo-info.html
> >
> >

--
Matt Benjamin
CohortFS, LLC.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://cohortfs.com

tel.  734-761-4689
fax.  734-769-8938
cel.  734-216-5309

________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).

N     r  y   b X  ǧv ^ )޺{.n +   z ]z   
N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w       j:+v   w j m         zZ+     ݢj"  ! i
\x13  칻\x1c & ~ & \x18  +-  ݶ\x17  w  ˛   m \x1e \x17^  b  ^n r   z \x1a  h    &  \x1e G   h \x03( 階 ݢj"  \x1a ^[m     z ޖ   f   h   ~ m 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-09-11 10:28         ` Varada Kari
@ 2015-09-11 18:43           ` James (Fei) Liu-SSI
  2015-09-12  4:34             ` Varada Kari
  2015-09-28 18:20           ` James (Fei) Liu-SSI
  1 sibling, 1 reply; 30+ messages in thread
From: James (Fei) Liu-SSI @ 2015-09-11 18:43 UTC (permalink / raw
  To: Varada Kari, Sage Weil, Matt W. Benjamin, Loic Dachary; +Cc: ceph-devel

Hi Varada,
  Got a chance to go through the code. Great job. It is much cleaner . Several questions:
  1. What you think about the performance impact with the new implementation? Such  as dynamic library vs static link?
  2. Could any vendor just provide a objectstore interfaces complied dynamic binary library for their own storage engine with new factory framework? 
  
  Regards,
  James
  

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Friday, September 11, 2015 3:28 AM
To: Sage Weil; Matt W. Benjamin; Loic Dachary
Cc: ceph-devel
Subject: RE: loadable objectstore

Hi Sage/ Matt,

I have submitted the pull request based on wip-plugin branch for the object store factory implementation at https://github.com/ceph/ceph/pull/5884 . Haven't rebased to the master yet. Working on rebase and including new store in the factory implementation.  Please have a look and let me know your comments. Will submit a rebased PR soon with new store integration. 

Thanks,
Varada

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Friday, July 03, 2015 7:31 PM
To: Sage Weil <sage@newdream.net>; Adam Crume <adamcrume@gmail.com>
Cc: Loic Dachary <loic@dachary.org>; ceph-devel <ceph-devel@vger.kernel.org>; Matt W. Benjamin <matt@cohortfs.com>
Subject: RE: loadable objectstore

Hi All,

Not able to make much progress after making common as a shared object along with object store. 
Compilation of the test binaries are failing with "./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'".

  CXXLD    ceph_streamtest
./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
collect2: error: ld returned 1 exit status
make[3]: *** [ceph_streamtest] Error 1

But libfilestore.so is linked with lttng-ust.

src/.libs$ ldd libceph_filestore.so
        libceph_keyvaluestore.so.1 => /home/varada/obs-factory/plugin-work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
        libceph_os.so.1 => /home/varada/obs-factory/plugin-work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
        libcommon.so.1 => /home/varada/ obs-factory/plugin-work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
        liblttng-ust.so.0 => /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0 (0x00007f5e4b179000)
        liblttng-ust-tracepoint.so.0 => /usr/lib/x86_64-linux-gnu/liblttng-ust-tracepoint.so.0 (0x00007f5e4a021000)
        liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
        liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1 (0x00007f5e49c12000)

Edited the above output just show the dependencies.  
Did anyone face this issue before? 
Any help would be much appreciated. 

Thanks,
Varada

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Friday, June 26, 2015 3:34 PM
To: Sage Weil
Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
Subject: RE: loadable objectstore

Hi,

Made some more changes to resolve lttng problems at https://github.com/varadakari/ceph/commits/wip-plugin.
But couldn’t by pass the issues. Facing some issues like mentioned below.

./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'

Compiling with -llttng-ust is not resolving the problem. Seen some threads in devel list before, mentioning this problem. 
Can anyone take a look and guide me to fix this problem?

Haven't made the changes to change the plugin name etc... will be making them as part of cleanup.

Thanks,
Varada

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Monday, June 22, 2015 8:57 PM
To: Matt W. Benjamin
Cc: Loic Dachary; ceph-devel; Sage Weil
Subject: RE: loadable objectstore

Hi Matt,

Majority of the changes are segregating the files to corresponding shared object and creating a factory object. And the naming is mostly taken from Erasure-coding plugins. Want a good naming convention :-), hence a preliminary review. Do agree, we have lot of loadable interfaces, and I think we are in the way of making them on-demand (if possible) loadable modules.

Varada

-----Original Message-----
From: Matt W. Benjamin [mailto:matt@cohortfs.com]
Sent: Monday, June 22, 2015 8:37 PM
To: Varada Kari
Cc: Loic Dachary; ceph-devel; Sage Weil
Subject: Re: loadable objectstore

Hi,

It's just aesthetic, but it feels clunky to change the names of well known modules to <something>Plugin--esp. if that generalizes forward to new loadable modules (and we have a lot of loadable interfaces).

Matt

----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:

> Hi Sage,
>
> Please find the initial implementation of objects store factory 
> (initial cut) at 
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ede
> 4f189ec7e1c8
>
> This is still work in progress branch. Right now I am facing Lttng 
> issues,
> LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate 
> registration of tracepoint probes having the same name is not allowed.
>
> Might be an issue with libcommon inclusion. Trying resolving the issue 
> now. Seems I need to make libcommon also as a shared object to avoid 
> the duplicates, static linking is a problem here.
> Any suggestions or comments on this problem?
>
>
> I have commented out test binary (ceph_test_keyvaluedb_atomicity) 
> compilation, due to unresolved symbols for g_ceph_context and g_conf.
> Not able to fix/workaround the problem so far.
>
> Can you please review if this is what in your mind for the factory 
> implementation?
>
> We can extend this implementation to messenger and different backend 
> of the OSD. Will make those incremental once the base framework is 
> approved.
>
> Thanks,
> Varada
>
>
>
> -----Original Message-----
> From: Sage Weil [mailto:sage@newdream.net]
> Sent: Tuesday, May 12, 2015 5:11 AM
> To: Varada Kari
> Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> Subject: RE: loadable objectstore
>
> Hi Varada,
>
> Any progress on this?
>
> Thanks!
> sage
>
> On Sat, 11 Apr 2015, Varada Kari wrote:
>
> > Thanks Sage and Loic. Will add the missing pieces and integrate the
> object factory and plugin changes.
> >
> > Varada
> >
> > -----Original Message-----
> > From: Sage Weil [mailto:sage@newdream.net]
> > Sent: Saturday, April 11, 2015 9:19 PM
> > To: Loic Dachary
> > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > Subject: Re: loadable objectstore
> >
> > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > Hi Sage,
> > >
> > > It looks like common/PluginRegistry.{h,cc} are missing from 
> > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> >
> > whoops pushed! :)
> >
> > sage
> >
> > >
> > > Cheers
> > >
> > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > >> Hi Matt/ Sage,
> > > >>
> > > >> Thanks for sharing the pull request. Will work on the items
> what
> > > >> sage was mentioning in the comments along with the items in the
> tracker.
> > > >
> > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > does this make sense?  It's only compile tested, and still
> needs
> > > > preload() methods implemented so that long-running daemons (or 
> > > > perhaps others?) can preload it all at once.
> > > >
> > > > Ideally we would replace ErasurePluginRegistry with this too, 
> > > > which means the naming of the .so's needs to be a bit more 
> > > > flexible as the EC plugin scheme is something like 
> > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict function
>
> > > > of type and name).  Or actually, we can just rename the EC .so's
>
> > > > when this goes in?  Since they're explicitly incompatible
> between
> > > > versions there is no reason the names need to remain
> consistent...
> > > >
> > > > sage
> > > >
> > > >>
> > > >> Varada
> > > >>
> > > >> -----Original Message-----
> > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > >> To: Matt W. Benjamin
> > > >> Cc: Varada Kari; ceph-devel
> > > >> Subject: Re: loadable objectstore
> > > >>
> > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > >>> Hi Varada,
> > > >>>
> > > >>> I pushed branch hammer-osfactory to 
> > > >>> https://github.com/linuxbox2/ceph.git
> > > >>>
> > > >>> It can at least provide a starting point for discussion, if
> not
> > > >>> a jumping off point;  I do think it's basically what Sage
> described.
> > > >>
> > > >> I made a few comments on the pull request.  I think a factory
> class is the way to go, but we should be able to make the plugin 
> loading part generic and not interface specific at all...
> > > >>
> > > >> sage
> > > >>
> > > >>>
> > > >>> I was able to update the CMake build system to build the tree,
> I
> > > >>> haven't attempted Autotools. :(
> > > >>>
> > > >>> Regards,
> > > >>>
> > > >>> Matt
> > > >>>
> > > >>> --
> > > >>> Matt Benjamin
> > > >>> CohortFS, LLC.
> > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > > >>>
> > > >>> http://cohortfs.com
> > > >>>
> > > >>> tel.  734-761-4689
> > > >>> fax.  734-769-8938
> > > >>> cel.  734-216-5309
> > > >>> --
> > > >>> To unsubscribe from this list: send the line "unsubscribe
> ceph-devel"
> > > >>> in the body of a message to majordomo@vger.kernel.org More 
> > > >>> majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > >>>
> > > >>>
> > > >>
> > > >> ________________________________
> > > >>
> > > >> PLEASE NOTE: The information contained in this electronic mail
> message is intended only for the use of the designated recipient(s) 
> named above. If the reader of this message is not the intended 
> recipient, you are hereby notified that you have received this message 
> in error and that any review, dissemination, distribution, or copying 
> of this message is strictly prohibited. If you have received this 
> communication in error, please notify the sender by telephone or 
> e-mail (as shown above) immediately and destroy any and all copies of 
> this message in your possession (whether hard copies or electronically 
> stored copies).
> > > >>
> > > >> --
> > > >> To unsubscribe from this list: send the line "unsubscribe 
> > > >> ceph-devel" in the body of a message to
> majordomo@vger.kernel.org
> > > >> More majordomo info at
> > > >> http://vger.kernel.org/majordomo-info.html
> > > >>
> > > >>
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe 
> > > > ceph-devel" in the body of a message to
> majordomo@vger.kernel.org
> > > > More majordomo info at
> http://vger.kernel.org/majordomo-info.html
> > > >
> > >
> > > --
> > > Loïc Dachary, Artisan Logiciel Libre
> > >
> > >
> > --
> > To unsubscribe from this list: send the line "unsubscribe
> ceph-devel"
> > in the body of a message to majordomo@vger.kernel.org More majordomo
>
> > info at  http://vger.kernel.org/majordomo-info.html
> >
> >

--
Matt Benjamin
CohortFS, LLC.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://cohortfs.com

tel.  734-761-4689
fax.  734-769-8938
cel.  734-216-5309

________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).

N     r  y   b X  ǧv ^ )޺{.n +   z ]z   
N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w       j:+v   w j m         zZ+     ݢj"  ! i
\x13  칻\x1c & ~ & \x18  +-  ݶ\x17  w  ˛   m \x1e \x17^  b  ^n r   z \x1a  h    &  \x1e G   h \x03( 階 ݢj"  \x1a ^[m     z ޖ   f   h   ~ m 
\x04 {.n +       +%  lzwm  b 맲  r  yǩ ׯzX  \x17  ܨ}   Ơz &j:+v        zZ+  +zf   h   ~    i   z \x1e w   ?    & )ߢ^[f

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-09-11 18:43           ` James (Fei) Liu-SSI
@ 2015-09-12  4:34             ` Varada Kari
  2015-09-12 20:35               ` Allen Samuels
  0 siblings, 1 reply; 30+ messages in thread
From: Varada Kari @ 2015-09-12  4:34 UTC (permalink / raw
  To: James (Fei) Liu-SSI, Sage Weil, Matt W. Benjamin, Loic Dachary; +Cc: ceph-devel

Hi James,

Please find the responses inline.

varada

> -----Original Message-----
> From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> Sent: Saturday, September 12, 2015 12:13 AM
> To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil
> <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic
> Dachary <loic@dachary.org>
> Cc: ceph-devel <ceph-devel@vger.kernel.org>
> Subject: RE: loadable objectstore
>
> Hi Varada,
>   Got a chance to go through the code. Great job. It is much cleaner . Several
> questions:
>   1. What you think about the performance impact with the new
> implementation? Such  as dynamic library vs static link?
[Varada Kari] Haven't measured the performance yet, but there will be some hit due to static vs dynamic. But that shouldn't be a major degradation, but I will hold on till we have some perf runs to figure that out.
>   2. Could any vendor just provide a objectstore interfaces complied dynamic
> binary library for their own storage engine with new factory framework?
[Varada Kari] That was one of the design motives for this change. Yes any backend adhering the interfaces of object store can integrate with osd. All they need to do provide a factory interface and the required version and init functionality additionally to all the required object store interfaces.
>
>   Regards,
>   James
>
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, September 11, 2015 3:28 AM
> To: Sage Weil; Matt W. Benjamin; Loic Dachary
> Cc: ceph-devel
> Subject: RE: loadable objectstore
>
> Hi Sage/ Matt,
>
> I have submitted the pull request based on wip-plugin branch for the object
> store factory implementation at https://github.com/ceph/ceph/pull/5884 .
> Haven't rebased to the master yet. Working on rebase and including new
> store in the factory implementation.  Please have a look and let me know
> your comments. Will submit a rebased PR soon with new store integration.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, July 03, 2015 7:31 PM
> To: Sage Weil <sage@newdream.net>; Adam Crume
> <adamcrume@gmail.com>
> Cc: Loic Dachary <loic@dachary.org>; ceph-devel <ceph-
> devel@vger.kernel.org>; Matt W. Benjamin <matt@cohortfs.com>
> Subject: RE: loadable objectstore
>
> Hi All,
>
> Not able to make much progress after making common as a shared object
> along with object store.
> Compilation of the test binaries are failing with "./.libs/libceph_filestore.so:
> undefined reference to `tracepoint_dlopen'".
>
>   CXXLD    ceph_streamtest
> ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> collect2: error: ld returned 1 exit status
> make[3]: *** [ceph_streamtest] Error 1
>
> But libfilestore.so is linked with lttng-ust.
>
> src/.libs$ ldd libceph_filestore.so
>         libceph_keyvaluestore.so.1 => /home/varada/obs-factory/plugin-
> work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
>         libceph_os.so.1 => /home/varada/obs-factory/plugin-
> work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
>         libcommon.so.1 => /home/varada/ obs-factory/plugin-
> work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
>         liblttng-ust.so.0 => /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0
> (0x00007f5e4b179000)
>         liblttng-ust-tracepoint.so.0 => /usr/lib/x86_64-linux-gnu/liblttng-ust-
> tracepoint.so.0 (0x00007f5e4a021000)
>         liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
>         liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1 (0x00007f5e49c12000)
>
> Edited the above output just show the dependencies.
> Did anyone face this issue before?
> Any help would be much appreciated.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, June 26, 2015 3:34 PM
> To: Sage Weil
> Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
> Subject: RE: loadable objectstore
>
> Hi,
>
> Made some more changes to resolve lttng problems at
> https://github.com/varadakari/ceph/commits/wip-plugin.
> But couldn’t by pass the issues. Facing some issues like mentioned below.
>
> ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
>
> Compiling with -llttng-ust is not resolving the problem. Seen some threads in
> devel list before, mentioning this problem.
> Can anyone take a look and guide me to fix this problem?
>
> Haven't made the changes to change the plugin name etc... will be making
> them as part of cleanup.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Monday, June 22, 2015 8:57 PM
> To: Matt W. Benjamin
> Cc: Loic Dachary; ceph-devel; Sage Weil
> Subject: RE: loadable objectstore
>
> Hi Matt,
>
> Majority of the changes are segregating the files to corresponding shared
> object and creating a factory object. And the naming is mostly taken from
> Erasure-coding plugins. Want a good naming convention :-), hence a
> preliminary review. Do agree, we have lot of loadable interfaces, and I think
> we are in the way of making them on-demand (if possible) loadable
> modules.
>
> Varada
>
> -----Original Message-----
> From: Matt W. Benjamin [mailto:matt@cohortfs.com]
> Sent: Monday, June 22, 2015 8:37 PM
> To: Varada Kari
> Cc: Loic Dachary; ceph-devel; Sage Weil
> Subject: Re: loadable objectstore
>
> Hi,
>
> It's just aesthetic, but it feels clunky to change the names of well known
> modules to <something>Plugin--esp. if that generalizes forward to new
> loadable modules (and we have a lot of loadable interfaces).
>
> Matt
>
> ----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:
>
> > Hi Sage,
> >
> > Please find the initial implementation of objects store factory
> > (initial cut) at
> >
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ed
> e
> > 4f189ec7e1c8
> >
> > This is still work in progress branch. Right now I am facing Lttng
> > issues,
> > LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate
> > registration of tracepoint probes having the same name is not allowed.
> >
> > Might be an issue with libcommon inclusion. Trying resolving the issue
> > now. Seems I need to make libcommon also as a shared object to avoid
> > the duplicates, static linking is a problem here.
> > Any suggestions or comments on this problem?
> >
> >
> > I have commented out test binary (ceph_test_keyvaluedb_atomicity)
> > compilation, due to unresolved symbols for g_ceph_context and g_conf.
> > Not able to fix/workaround the problem so far.
> >
> > Can you please review if this is what in your mind for the factory
> > implementation?
> >
> > We can extend this implementation to messenger and different backend
> > of the OSD. Will make those incremental once the base framework is
> > approved.
> >
> > Thanks,
> > Varada
> >
> >
> >
> > -----Original Message-----
> > From: Sage Weil [mailto:sage@newdream.net]
> > Sent: Tuesday, May 12, 2015 5:11 AM
> > To: Varada Kari
> > Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> > Subject: RE: loadable objectstore
> >
> > Hi Varada,
> >
> > Any progress on this?
> >
> > Thanks!
> > sage
> >
> > On Sat, 11 Apr 2015, Varada Kari wrote:
> >
> > > Thanks Sage and Loic. Will add the missing pieces and integrate the
> > object factory and plugin changes.
> > >
> > > Varada
> > >
> > > -----Original Message-----
> > > From: Sage Weil [mailto:sage@newdream.net]
> > > Sent: Saturday, April 11, 2015 9:19 PM
> > > To: Loic Dachary
> > > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > > Subject: Re: loadable objectstore
> > >
> > > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > > Hi Sage,
> > > >
> > > > It looks like common/PluginRegistry.{h,cc} are missing from
> > > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> > >
> > > whoops pushed! :)
> > >
> > > sage
> > >
> > > >
> > > > Cheers
> > > >
> > > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > > >> Hi Matt/ Sage,
> > > > >>
> > > > >> Thanks for sharing the pull request. Will work on the items
> > what
> > > > >> sage was mentioning in the comments along with the items in the
> > tracker.
> > > > >
> > > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > > does this make sense?  It's only compile tested, and still
> > needs
> > > > > preload() methods implemented so that long-running daemons (or
> > > > > perhaps others?) can preload it all at once.
> > > > >
> > > > > Ideally we would replace ErasurePluginRegistry with this too,
> > > > > which means the naming of the .so's needs to be a bit more
> > > > > flexible as the EC plugin scheme is something like
> > > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict function
> >
> > > > > of type and name).  Or actually, we can just rename the EC .so's
> >
> > > > > when this goes in?  Since they're explicitly incompatible
> > between
> > > > > versions there is no reason the names need to remain
> > consistent...
> > > > >
> > > > > sage
> > > > >
> > > > >>
> > > > >> Varada
> > > > >>
> > > > >> -----Original Message-----
> > > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > > >> To: Matt W. Benjamin
> > > > >> Cc: Varada Kari; ceph-devel
> > > > >> Subject: Re: loadable objectstore
> > > > >>
> > > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > > >>> Hi Varada,
> > > > >>>
> > > > >>> I pushed branch hammer-osfactory to
> > > > >>> https://github.com/linuxbox2/ceph.git
> > > > >>>
> > > > >>> It can at least provide a starting point for discussion, if
> > not
> > > > >>> a jumping off point;  I do think it's basically what Sage
> > described.
> > > > >>
> > > > >> I made a few comments on the pull request.  I think a factory
> > class is the way to go, but we should be able to make the plugin
> > loading part generic and not interface specific at all...
> > > > >>
> > > > >> sage
> > > > >>
> > > > >>>
> > > > >>> I was able to update the CMake build system to build the tree,
> > I
> > > > >>> haven't attempted Autotools. :(
> > > > >>>
> > > > >>> Regards,
> > > > >>>
> > > > >>> Matt
> > > > >>>
> > > > >>> --
> > > > >>> Matt Benjamin
> > > > >>> CohortFS, LLC.
> > > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > > > >>>
> > > > >>> http://cohortfs.com
> > > > >>>
> > > > >>> tel.  734-761-4689
> > > > >>> fax.  734-769-8938
> > > > >>> cel.  734-216-5309
> > > > >>> --
> > > > >>> To unsubscribe from this list: send the line "unsubscribe
> > ceph-devel"
> > > > >>> in the body of a message to majordomo@vger.kernel.org More
> > > > >>> majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > > >>>
> > > > >>>
> > > > >>
> > > > >> ________________________________
> > > > >>
> > > > >> PLEASE NOTE: The information contained in this electronic mail
> > message is intended only for the use of the designated recipient(s)
> > named above. If the reader of this message is not the intended
> > recipient, you are hereby notified that you have received this message
> > in error and that any review, dissemination, distribution, or copying
> > of this message is strictly prohibited. If you have received this
> > communication in error, please notify the sender by telephone or
> > e-mail (as shown above) immediately and destroy any and all copies of
> > this message in your possession (whether hard copies or electronically
> > stored copies).
> > > > >>
> > > > >> --
> > > > >> To unsubscribe from this list: send the line "unsubscribe
> > > > >> ceph-devel" in the body of a message to
> > majordomo@vger.kernel.org
> > > > >> More majordomo info at
> > > > >> http://vger.kernel.org/majordomo-info.html
> > > > >>
> > > > >>
> > > > > --
> > > > > To unsubscribe from this list: send the line "unsubscribe
> > > > > ceph-devel" in the body of a message to
> > majordomo@vger.kernel.org
> > > > > More majordomo info at
> > http://vger.kernel.org/majordomo-info.html
> > > > >
> > > >
> > > > --
> > > > Loïc Dachary, Artisan Logiciel Libre
> > > >
> > > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe
> > ceph-devel"
> > > in the body of a message to majordomo@vger.kernel.org More
> majordomo
> >
> > > info at  http://vger.kernel.org/majordomo-info.html
> > >
> > >
>
> --
> Matt Benjamin
> CohortFS, LLC.
> 315 West Huron Street, Suite 140A
> Ann Arbor, Michigan 48103
>
> http://cohortfs.com
>
> tel.  734-761-4689
> fax.  734-769-8938
> cel.  734-216-5309
>
> ________________________________
>
> PLEASE NOTE: The information contained in this electronic mail message is
> intended only for the use of the designated recipient(s) named above. If the
> reader of this message is not the intended recipient, you are hereby notified
> that you have received this message in error and that any review,
> dissemination, distribution, or copying of this message is strictly prohibited. If
> you have received this communication in error, please notify the sender by
> telephone or e-mail (as shown above) immediately and destroy any and all
> copies of this message in your possession (whether hard copies or
> electronically stored copies).
>
> N     r  y   b X  ǧv ^ )޺{.n +   z ]z
> N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w       j:+v   w j m         zZ+
> ݢj"  ! i
> \x13  칻\x1c & ~ & \x18  +-  ݶ\x17  w  ˛   m \x1e \x17^  b  ^n r   z \x1a  h    &  \x1e G   h \x03( 階 ݢj"  \x1a ^[m     z
> ޖ   f   h   ~ m
> \x04 {.n +       +%  lzwm  b 맲  r  yǩ ׯzX  \x17  ܨ}   Ơz &j:+v        zZ+  +zf   h   ~    i   z \x1e w
> ?    & )ߢ^[f

________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).


^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-09-12  4:34             ` Varada Kari
@ 2015-09-12 20:35               ` Allen Samuels
  2015-09-13  3:53                 ` Varada Kari
  2015-09-14 16:47                 ` James (Fei) Liu-SSI
  0 siblings, 2 replies; 30+ messages in thread
From: Allen Samuels @ 2015-09-12 20:35 UTC (permalink / raw
  To: Varada Kari, James (Fei) Liu-SSI, Sage Weil, Matt W. Benjamin,
	Loic Dachary
  Cc: ceph-devel

Performance impact after initialization will be zero. All of the call sequences are done as vtable dynamic dispatches on the global ObjectStore instance. This type of call sequence doesn't matter whether it's dynamic or statically linked, they are the same (a simple indirection through the vtbl which is loaded from a known constant offset in the object).


Allen Samuels
Chief Software Architect, Emerging Storage Solutions 

951 SanDisk Drive, Milpitas, CA 95035
T: +1 408 801 7030| M: +1 408 780 6416
allen.samuels@SanDisk.com

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Friday, September 11, 2015 9:34 PM
To: James (Fei) Liu-SSI <james.liu@ssi.samsung.com>; Sage Weil <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic Dachary <loic@dachary.org>
Cc: ceph-devel <ceph-devel@vger.kernel.org>
Subject: RE: loadable objectstore

Hi James,

Please find the responses inline.

varada

> -----Original Message-----
> From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> Sent: Saturday, September 12, 2015 12:13 AM
> To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil
> <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic
> Dachary <loic@dachary.org>
> Cc: ceph-devel <ceph-devel@vger.kernel.org>
> Subject: RE: loadable objectstore
>
> Hi Varada,
>   Got a chance to go through the code. Great job. It is much cleaner . Several
> questions:
>   1. What you think about the performance impact with the new
> implementation? Such  as dynamic library vs static link?
[Varada Kari] Haven't measured the performance yet, but there will be some hit due to static vs dynamic. But that shouldn't be a major degradation, but I will hold on till we have some perf runs to figure that out.
>   2. Could any vendor just provide a objectstore interfaces complied dynamic
> binary library for their own storage engine with new factory framework?
[Varada Kari] That was one of the design motives for this change. Yes any backend adhering the interfaces of object store can integrate with osd. All they need to do provide a factory interface and the required version and init functionality additionally to all the required object store interfaces.
>
>   Regards,
>   James
>
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, September 11, 2015 3:28 AM
> To: Sage Weil; Matt W. Benjamin; Loic Dachary
> Cc: ceph-devel
> Subject: RE: loadable objectstore
>
> Hi Sage/ Matt,
>
> I have submitted the pull request based on wip-plugin branch for the object
> store factory implementation at https://github.com/ceph/ceph/pull/5884 .
> Haven't rebased to the master yet. Working on rebase and including new
> store in the factory implementation.  Please have a look and let me know
> your comments. Will submit a rebased PR soon with new store integration.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, July 03, 2015 7:31 PM
> To: Sage Weil <sage@newdream.net>; Adam Crume
> <adamcrume@gmail.com>
> Cc: Loic Dachary <loic@dachary.org>; ceph-devel <ceph-
> devel@vger.kernel.org>; Matt W. Benjamin <matt@cohortfs.com>
> Subject: RE: loadable objectstore
>
> Hi All,
>
> Not able to make much progress after making common as a shared object
> along with object store.
> Compilation of the test binaries are failing with "./.libs/libceph_filestore.so:
> undefined reference to `tracepoint_dlopen'".
>
>   CXXLD    ceph_streamtest
> ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> collect2: error: ld returned 1 exit status
> make[3]: *** [ceph_streamtest] Error 1
>
> But libfilestore.so is linked with lttng-ust.
>
> src/.libs$ ldd libceph_filestore.so
>         libceph_keyvaluestore.so.1 => /home/varada/obs-factory/plugin-
> work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
>         libceph_os.so.1 => /home/varada/obs-factory/plugin-
> work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
>         libcommon.so.1 => /home/varada/ obs-factory/plugin-
> work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
>         liblttng-ust.so.0 => /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0
> (0x00007f5e4b179000)
>         liblttng-ust-tracepoint.so.0 => /usr/lib/x86_64-linux-gnu/liblttng-ust-
> tracepoint.so.0 (0x00007f5e4a021000)
>         liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
>         liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1 (0x00007f5e49c12000)
>
> Edited the above output just show the dependencies.
> Did anyone face this issue before?
> Any help would be much appreciated.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, June 26, 2015 3:34 PM
> To: Sage Weil
> Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
> Subject: RE: loadable objectstore
>
> Hi,
>
> Made some more changes to resolve lttng problems at
> https://github.com/varadakari/ceph/commits/wip-plugin.
> But couldn’t by pass the issues. Facing some issues like mentioned below.
>
> ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
>
> Compiling with -llttng-ust is not resolving the problem. Seen some threads in
> devel list before, mentioning this problem.
> Can anyone take a look and guide me to fix this problem?
>
> Haven't made the changes to change the plugin name etc... will be making
> them as part of cleanup.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Monday, June 22, 2015 8:57 PM
> To: Matt W. Benjamin
> Cc: Loic Dachary; ceph-devel; Sage Weil
> Subject: RE: loadable objectstore
>
> Hi Matt,
>
> Majority of the changes are segregating the files to corresponding shared
> object and creating a factory object. And the naming is mostly taken from
> Erasure-coding plugins. Want a good naming convention :-), hence a
> preliminary review. Do agree, we have lot of loadable interfaces, and I think
> we are in the way of making them on-demand (if possible) loadable
> modules.
>
> Varada
>
> -----Original Message-----
> From: Matt W. Benjamin [mailto:matt@cohortfs.com]
> Sent: Monday, June 22, 2015 8:37 PM
> To: Varada Kari
> Cc: Loic Dachary; ceph-devel; Sage Weil
> Subject: Re: loadable objectstore
>
> Hi,
>
> It's just aesthetic, but it feels clunky to change the names of well known
> modules to <something>Plugin--esp. if that generalizes forward to new
> loadable modules (and we have a lot of loadable interfaces).
>
> Matt
>
> ----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:
>
> > Hi Sage,
> >
> > Please find the initial implementation of objects store factory
> > (initial cut) at
> >
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ed
> e
> > 4f189ec7e1c8
> >
> > This is still work in progress branch. Right now I am facing Lttng
> > issues,
> > LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate
> > registration of tracepoint probes having the same name is not allowed.
> >
> > Might be an issue with libcommon inclusion. Trying resolving the issue
> > now. Seems I need to make libcommon also as a shared object to avoid
> > the duplicates, static linking is a problem here.
> > Any suggestions or comments on this problem?
> >
> >
> > I have commented out test binary (ceph_test_keyvaluedb_atomicity)
> > compilation, due to unresolved symbols for g_ceph_context and g_conf.
> > Not able to fix/workaround the problem so far.
> >
> > Can you please review if this is what in your mind for the factory
> > implementation?
> >
> > We can extend this implementation to messenger and different backend
> > of the OSD. Will make those incremental once the base framework is
> > approved.
> >
> > Thanks,
> > Varada
> >
> >
> >
> > -----Original Message-----
> > From: Sage Weil [mailto:sage@newdream.net]
> > Sent: Tuesday, May 12, 2015 5:11 AM
> > To: Varada Kari
> > Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> > Subject: RE: loadable objectstore
> >
> > Hi Varada,
> >
> > Any progress on this?
> >
> > Thanks!
> > sage
> >
> > On Sat, 11 Apr 2015, Varada Kari wrote:
> >
> > > Thanks Sage and Loic. Will add the missing pieces and integrate the
> > object factory and plugin changes.
> > >
> > > Varada
> > >
> > > -----Original Message-----
> > > From: Sage Weil [mailto:sage@newdream.net]
> > > Sent: Saturday, April 11, 2015 9:19 PM
> > > To: Loic Dachary
> > > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > > Subject: Re: loadable objectstore
> > >
> > > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > > Hi Sage,
> > > >
> > > > It looks like common/PluginRegistry.{h,cc} are missing from
> > > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> > >
> > > whoops pushed! :)
> > >
> > > sage
> > >
> > > >
> > > > Cheers
> > > >
> > > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > > >> Hi Matt/ Sage,
> > > > >>
> > > > >> Thanks for sharing the pull request. Will work on the items
> > what
> > > > >> sage was mentioning in the comments along with the items in the
> > tracker.
> > > > >
> > > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > > does this make sense?  It's only compile tested, and still
> > needs
> > > > > preload() methods implemented so that long-running daemons (or
> > > > > perhaps others?) can preload it all at once.
> > > > >
> > > > > Ideally we would replace ErasurePluginRegistry with this too,
> > > > > which means the naming of the .so's needs to be a bit more
> > > > > flexible as the EC plugin scheme is something like
> > > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict function
> >
> > > > > of type and name).  Or actually, we can just rename the EC .so's
> >
> > > > > when this goes in?  Since they're explicitly incompatible
> > between
> > > > > versions there is no reason the names need to remain
> > consistent...
> > > > >
> > > > > sage
> > > > >
> > > > >>
> > > > >> Varada
> > > > >>
> > > > >> -----Original Message-----
> > > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > > >> To: Matt W. Benjamin
> > > > >> Cc: Varada Kari; ceph-devel
> > > > >> Subject: Re: loadable objectstore
> > > > >>
> > > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > > >>> Hi Varada,
> > > > >>>
> > > > >>> I pushed branch hammer-osfactory to
> > > > >>> https://github.com/linuxbox2/ceph.git
> > > > >>>
> > > > >>> It can at least provide a starting point for discussion, if
> > not
> > > > >>> a jumping off point;  I do think it's basically what Sage
> > described.
> > > > >>
> > > > >> I made a few comments on the pull request.  I think a factory
> > class is the way to go, but we should be able to make the plugin
> > loading part generic and not interface specific at all...
> > > > >>
> > > > >> sage
> > > > >>
> > > > >>>
> > > > >>> I was able to update the CMake build system to build the tree,
> > I
> > > > >>> haven't attempted Autotools. :(
> > > > >>>
> > > > >>> Regards,
> > > > >>>
> > > > >>> Matt
> > > > >>>
> > > > >>> --
> > > > >>> Matt Benjamin
> > > > >>> CohortFS, LLC.
> > > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > > > >>>
> > > > >>> http://cohortfs.com
> > > > >>>
> > > > >>> tel.  734-761-4689
> > > > >>> fax.  734-769-8938
> > > > >>> cel.  734-216-5309
> > > > >>> --
> > > > >>> To unsubscribe from this list: send the line "unsubscribe
> > ceph-devel"
> > > > >>> in the body of a message to majordomo@vger.kernel.org More
> > > > >>> majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > > >>>
> > > > >>>
> > > > >>
> > > > >> ________________________________
> > > > >>
> > > > >> PLEASE NOTE: The information contained in this electronic mail
> > message is intended only for the use of the designated recipient(s)
> > named above. If the reader of this message is not the intended
> > recipient, you are hereby notified that you have received this message
> > in error and that any review, dissemination, distribution, or copying
> > of this message is strictly prohibited. If you have received this
> > communication in error, please notify the sender by telephone or
> > e-mail (as shown above) immediately and destroy any and all copies of
> > this message in your possession (whether hard copies or electronically
> > stored copies).
> > > > >>
> > > > >> --
> > > > >> To unsubscribe from this list: send the line "unsubscribe
> > > > >> ceph-devel" in the body of a message to
> > majordomo@vger.kernel.org
> > > > >> More majordomo info at
> > > > >> http://vger.kernel.org/majordomo-info.html
> > > > >>
> > > > >>
> > > > > --
> > > > > To unsubscribe from this list: send the line "unsubscribe
> > > > > ceph-devel" in the body of a message to
> > majordomo@vger.kernel.org
> > > > > More majordomo info at
> > http://vger.kernel.org/majordomo-info.html
> > > > >
> > > >
> > > > --
> > > > Loïc Dachary, Artisan Logiciel Libre
> > > >
> > > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe
> > ceph-devel"
> > > in the body of a message to majordomo@vger.kernel.org More
> majordomo
> >
> > > info at  http://vger.kernel.org/majordomo-info.html
> > >
> > >
>
> --
> Matt Benjamin
> CohortFS, LLC.
> 315 West Huron Street, Suite 140A
> Ann Arbor, Michigan 48103
>
> http://cohortfs.com
>
> tel.  734-761-4689
> fax.  734-769-8938
> cel.  734-216-5309
>
> ________________________________
>
> PLEASE NOTE: The information contained in this electronic mail message is
> intended only for the use of the designated recipient(s) named above. If the
> reader of this message is not the intended recipient, you are hereby notified
> that you have received this message in error and that any review,
> dissemination, distribution, or copying of this message is strictly prohibited. If
> you have received this communication in error, please notify the sender by
> telephone or e-mail (as shown above) immediately and destroy any and all
> copies of this message in your possession (whether hard copies or
> electronically stored copies).
>
> N     r  y   b X  ǧv ^ )޺{.n +   z ]z
> N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w       j:+v   w j m         zZ+
> ݢj"  ! i
> \x13  칻\x1c & ~ & \x18  +-  ݶ\x17  w  ˛   m \x1e \x17^  b  ^n r   z \x1a  h    &  \x1e G   h \x03( 階 ݢj"  \x1a ^[m     z
> ޖ   f   h   ~ m
> \x04 {.n +       +%  lzwm  b 맲  r  yǩ ׯzX  \x17  ܨ}   Ơz &j:+v        zZ+  +zf   h   ~    i   z \x1e w
> ?    & )ߢ^[f

________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).

N�����r��y���b�X��ǧv�^�)޺{.n�+���z�]z���{ay�\x1dʇڙ�,j\r��f���h���z�\x1e�w���
���j:+v���w�j�m����\r����zZ+�����ݢj"��!�i

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-09-12 20:35               ` Allen Samuels
@ 2015-09-13  3:53                 ` Varada Kari
  2015-09-14 16:47                 ` James (Fei) Liu-SSI
  1 sibling, 0 replies; 30+ messages in thread
From: Varada Kari @ 2015-09-13  3:53 UTC (permalink / raw
  To: Allen Samuels, James (Fei) Liu-SSI, Sage Weil, Matt W. Benjamin,
	Loic Dachary
  Cc: ceph-devel

Yes Allen for ObjectStore what you said correct. Along with ObjectStore backends, I have made libcommon as a shared object, so I was not sure of the performance, as bufferlist is part of libcommon.

Varada

> -----Original Message-----
> From: Allen Samuels
> Sent: Sunday, September 13, 2015 2:05 AM
> To: Varada Kari <Varada.Kari@sandisk.com>; James (Fei) Liu-SSI
> <james.liu@ssi.samsung.com>; Sage Weil <sage@newdream.net>; Matt W.
> Benjamin <matt@cohortfs.com>; Loic Dachary <loic@dachary.org>
> Cc: ceph-devel <ceph-devel@vger.kernel.org>
> Subject: RE: loadable objectstore
>
> Performance impact after initialization will be zero. All of the call sequences
> are done as vtable dynamic dispatches on the global ObjectStore instance.
> This type of call sequence doesn't matter whether it's dynamic or statically
> linked, they are the same (a simple indirection through the vtbl which is
> loaded from a known constant offset in the object).
>
>
> Allen Samuels
> Chief Software Architect, Emerging Storage Solutions
>
> 951 SanDisk Drive, Milpitas, CA 95035
> T: +1 408 801 7030| M: +1 408 780 6416
> allen.samuels@SanDisk.com
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, September 11, 2015 9:34 PM
> To: James (Fei) Liu-SSI <james.liu@ssi.samsung.com>; Sage Weil
> <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic
> Dachary <loic@dachary.org>
> Cc: ceph-devel <ceph-devel@vger.kernel.org>
> Subject: RE: loadable objectstore
>
> Hi James,
>
> Please find the responses inline.
>
> varada
>
> > -----Original Message-----
> > From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> > Sent: Saturday, September 12, 2015 12:13 AM
> > To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil
> > <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic
> > Dachary <loic@dachary.org>
> > Cc: ceph-devel <ceph-devel@vger.kernel.org>
> > Subject: RE: loadable objectstore
> >
> > Hi Varada,
> >   Got a chance to go through the code. Great job. It is much cleaner .
> > Several
> > questions:
> >   1. What you think about the performance impact with the new
> > implementation? Such  as dynamic library vs static link?
> [Varada Kari] Haven't measured the performance yet, but there will be some
> hit due to static vs dynamic. But that shouldn't be a major degradation, but I
> will hold on till we have some perf runs to figure that out.
> >   2. Could any vendor just provide a objectstore interfaces complied
> > dynamic binary library for their own storage engine with new factory
> framework?
> [Varada Kari] That was one of the design motives for this change. Yes any
> backend adhering the interfaces of object store can integrate with osd. All
> they need to do provide a factory interface and the required version and init
> functionality additionally to all the required object store interfaces.
> >
> >   Regards,
> >   James
> >
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Friday, September 11, 2015 3:28 AM
> > To: Sage Weil; Matt W. Benjamin; Loic Dachary
> > Cc: ceph-devel
> > Subject: RE: loadable objectstore
> >
> > Hi Sage/ Matt,
> >
> > I have submitted the pull request based on wip-plugin branch for the
> > object store factory implementation at
> https://github.com/ceph/ceph/pull/5884 .
> > Haven't rebased to the master yet. Working on rebase and including new
> > store in the factory implementation.  Please have a look and let me
> > know your comments. Will submit a rebased PR soon with new store
> integration.
> >
> > Thanks,
> > Varada
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Friday, July 03, 2015 7:31 PM
> > To: Sage Weil <sage@newdream.net>; Adam Crume
> <adamcrume@gmail.com>
> > Cc: Loic Dachary <loic@dachary.org>; ceph-devel <ceph-
> > devel@vger.kernel.org>; Matt W. Benjamin <matt@cohortfs.com>
> > Subject: RE: loadable objectstore
> >
> > Hi All,
> >
> > Not able to make much progress after making common as a shared object
> > along with object store.
> > Compilation of the test binaries are failing with "./.libs/libceph_filestore.so:
> > undefined reference to `tracepoint_dlopen'".
> >
> >   CXXLD    ceph_streamtest
> > ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> > collect2: error: ld returned 1 exit status
> > make[3]: *** [ceph_streamtest] Error 1
> >
> > But libfilestore.so is linked with lttng-ust.
> >
> > src/.libs$ ldd libceph_filestore.so
> >         libceph_keyvaluestore.so.1 => /home/varada/obs-factory/plugin-
> > work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
> >         libceph_os.so.1 => /home/varada/obs-factory/plugin-
> > work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
> >         libcommon.so.1 => /home/varada/ obs-factory/plugin-
> > work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
> >         liblttng-ust.so.0 =>
> > /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0
> > (0x00007f5e4b179000)
> >         liblttng-ust-tracepoint.so.0 =>
> > /usr/lib/x86_64-linux-gnu/liblttng-ust-
> > tracepoint.so.0 (0x00007f5e4a021000)
> >         liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
> >         liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1
> > (0x00007f5e49c12000)
> >
> > Edited the above output just show the dependencies.
> > Did anyone face this issue before?
> > Any help would be much appreciated.
> >
> > Thanks,
> > Varada
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Friday, June 26, 2015 3:34 PM
> > To: Sage Weil
> > Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
> > Subject: RE: loadable objectstore
> >
> > Hi,
> >
> > Made some more changes to resolve lttng problems at
> > https://github.com/varadakari/ceph/commits/wip-plugin.
> > But couldn’t by pass the issues. Facing some issues like mentioned below.
> >
> > ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> >
> > Compiling with -llttng-ust is not resolving the problem. Seen some
> > threads in devel list before, mentioning this problem.
> > Can anyone take a look and guide me to fix this problem?
> >
> > Haven't made the changes to change the plugin name etc... will be
> > making them as part of cleanup.
> >
> > Thanks,
> > Varada
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Monday, June 22, 2015 8:57 PM
> > To: Matt W. Benjamin
> > Cc: Loic Dachary; ceph-devel; Sage Weil
> > Subject: RE: loadable objectstore
> >
> > Hi Matt,
> >
> > Majority of the changes are segregating the files to corresponding
> > shared object and creating a factory object. And the naming is mostly
> > taken from Erasure-coding plugins. Want a good naming convention :-),
> > hence a preliminary review. Do agree, we have lot of loadable
> > interfaces, and I think we are in the way of making them on-demand (if
> > possible) loadable modules.
> >
> > Varada
> >
> > -----Original Message-----
> > From: Matt W. Benjamin [mailto:matt@cohortfs.com]
> > Sent: Monday, June 22, 2015 8:37 PM
> > To: Varada Kari
> > Cc: Loic Dachary; ceph-devel; Sage Weil
> > Subject: Re: loadable objectstore
> >
> > Hi,
> >
> > It's just aesthetic, but it feels clunky to change the names of well
> > known modules to <something>Plugin--esp. if that generalizes forward
> > to new loadable modules (and we have a lot of loadable interfaces).
> >
> > Matt
> >
> > ----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:
> >
> > > Hi Sage,
> > >
> > > Please find the initial implementation of objects store factory
> > > (initial cut) at
> > >
> >
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ed
> > e
> > > 4f189ec7e1c8
> > >
> > > This is still work in progress branch. Right now I am facing Lttng
> > > issues,
> > > LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate
> > > registration of tracepoint probes having the same name is not allowed.
> > >
> > > Might be an issue with libcommon inclusion. Trying resolving the
> > > issue now. Seems I need to make libcommon also as a shared object to
> > > avoid the duplicates, static linking is a problem here.
> > > Any suggestions or comments on this problem?
> > >
> > >
> > > I have commented out test binary (ceph_test_keyvaluedb_atomicity)
> > > compilation, due to unresolved symbols for g_ceph_context and g_conf.
> > > Not able to fix/workaround the problem so far.
> > >
> > > Can you please review if this is what in your mind for the factory
> > > implementation?
> > >
> > > We can extend this implementation to messenger and different backend
> > > of the OSD. Will make those incremental once the base framework is
> > > approved.
> > >
> > > Thanks,
> > > Varada
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Sage Weil [mailto:sage@newdream.net]
> > > Sent: Tuesday, May 12, 2015 5:11 AM
> > > To: Varada Kari
> > > Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> > > Subject: RE: loadable objectstore
> > >
> > > Hi Varada,
> > >
> > > Any progress on this?
> > >
> > > Thanks!
> > > sage
> > >
> > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > >
> > > > Thanks Sage and Loic. Will add the missing pieces and integrate
> > > > the
> > > object factory and plugin changes.
> > > >
> > > > Varada
> > > >
> > > > -----Original Message-----
> > > > From: Sage Weil [mailto:sage@newdream.net]
> > > > Sent: Saturday, April 11, 2015 9:19 PM
> > > > To: Loic Dachary
> > > > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > > > Subject: Re: loadable objectstore
> > > >
> > > > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > > > Hi Sage,
> > > > >
> > > > > It looks like common/PluginRegistry.{h,cc} are missing from
> > > > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> > > >
> > > > whoops pushed! :)
> > > >
> > > > sage
> > > >
> > > > >
> > > > > Cheers
> > > > >
> > > > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > > > >> Hi Matt/ Sage,
> > > > > >>
> > > > > >> Thanks for sharing the pull request. Will work on the items
> > > what
> > > > > >> sage was mentioning in the comments along with the items in
> > > > > >> the
> > > tracker.
> > > > > >
> > > > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > > > does this make sense?  It's only compile tested, and still
> > > needs
> > > > > > preload() methods implemented so that long-running daemons (or
> > > > > > perhaps others?) can preload it all at once.
> > > > > >
> > > > > > Ideally we would replace ErasurePluginRegistry with this too,
> > > > > > which means the naming of the .so's needs to be a bit more
> > > > > > flexible as the EC plugin scheme is something like
> > > > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict
> > > > > > function
> > >
> > > > > > of type and name).  Or actually, we can just rename the EC
> > > > > > .so's
> > >
> > > > > > when this goes in?  Since they're explicitly incompatible
> > > between
> > > > > > versions there is no reason the names need to remain
> > > consistent...
> > > > > >
> > > > > > sage
> > > > > >
> > > > > >>
> > > > > >> Varada
> > > > > >>
> > > > > >> -----Original Message-----
> > > > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > > > >> To: Matt W. Benjamin
> > > > > >> Cc: Varada Kari; ceph-devel
> > > > > >> Subject: Re: loadable objectstore
> > > > > >>
> > > > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > > > >>> Hi Varada,
> > > > > >>>
> > > > > >>> I pushed branch hammer-osfactory to
> > > > > >>> https://github.com/linuxbox2/ceph.git
> > > > > >>>
> > > > > >>> It can at least provide a starting point for discussion, if
> > > not
> > > > > >>> a jumping off point;  I do think it's basically what Sage
> > > described.
> > > > > >>
> > > > > >> I made a few comments on the pull request.  I think a factory
> > > class is the way to go, but we should be able to make the plugin
> > > loading part generic and not interface specific at all...
> > > > > >>
> > > > > >> sage
> > > > > >>
> > > > > >>>
> > > > > >>> I was able to update the CMake build system to build the
> > > > > >>> tree,
> > > I
> > > > > >>> haven't attempted Autotools. :(
> > > > > >>>
> > > > > >>> Regards,
> > > > > >>>
> > > > > >>> Matt
> > > > > >>>
> > > > > >>> --
> > > > > >>> Matt Benjamin
> > > > > >>> CohortFS, LLC.
> > > > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > > > > >>>
> > > > > >>> http://cohortfs.com
> > > > > >>>
> > > > > >>> tel.  734-761-4689
> > > > > >>> fax.  734-769-8938
> > > > > >>> cel.  734-216-5309
> > > > > >>> --
> > > > > >>> To unsubscribe from this list: send the line "unsubscribe
> > > ceph-devel"
> > > > > >>> in the body of a message to majordomo@vger.kernel.org More
> > > > > >>> majordomo info at
> > > > > >>> http://vger.kernel.org/majordomo-info.html
> > > > > >>>
> > > > > >>>
> > > > > >>
> > > > > >> ________________________________
> > > > > >>
> > > > > >> PLEASE NOTE: The information contained in this electronic
> > > > > >> mail
> > > message is intended only for the use of the designated recipient(s)
> > > named above. If the reader of this message is not the intended
> > > recipient, you are hereby notified that you have received this
> > > message in error and that any review, dissemination, distribution,
> > > or copying of this message is strictly prohibited. If you have
> > > received this communication in error, please notify the sender by
> > > telephone or e-mail (as shown above) immediately and destroy any and
> > > all copies of this message in your possession (whether hard copies
> > > or electronically stored copies).
> > > > > >>
> > > > > >> --
> > > > > >> To unsubscribe from this list: send the line "unsubscribe
> > > > > >> ceph-devel" in the body of a message to
> > > majordomo@vger.kernel.org
> > > > > >> More majordomo info at
> > > > > >> http://vger.kernel.org/majordomo-info.html
> > > > > >>
> > > > > >>
> > > > > > --
> > > > > > To unsubscribe from this list: send the line "unsubscribe
> > > > > > ceph-devel" in the body of a message to
> > > majordomo@vger.kernel.org
> > > > > > More majordomo info at
> > > http://vger.kernel.org/majordomo-info.html
> > > > > >
> > > > >
> > > > > --
> > > > > Loïc Dachary, Artisan Logiciel Libre
> > > > >
> > > > >
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe
> > > ceph-devel"
> > > > in the body of a message to majordomo@vger.kernel.org More
> > majordomo
> > >
> > > > info at  http://vger.kernel.org/majordomo-info.html
> > > >
> > > >
> >
> > --
> > Matt Benjamin
> > CohortFS, LLC.
> > 315 West Huron Street, Suite 140A
> > Ann Arbor, Michigan 48103
> >
> > http://cohortfs.com
> >
> > tel.  734-761-4689
> > fax.  734-769-8938
> > cel.  734-216-5309
> >
> > ________________________________
> >
> > PLEASE NOTE: The information contained in this electronic mail message
> > is intended only for the use of the designated recipient(s) named
> > above. If the reader of this message is not the intended recipient,
> > you are hereby notified that you have received this message in error
> > and that any review, dissemination, distribution, or copying of this
> > message is strictly prohibited. If you have received this
> > communication in error, please notify the sender by telephone or
> > e-mail (as shown above) immediately and destroy any and all copies of
> > this message in your possession (whether hard copies or electronically
> stored copies).
> >
> > N     r  y   b X  ǧv ^ )޺{.n +   z ]z
> > N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w       j:+v   w j m         zZ+
> > ݢj"  ! i
> > \x13  칻\x1c & ~ & \x18  +-  ݶ\x17  w  ˛   m \x1e \x17^  b  ^n r   z \x1a  h    &  \x1e G   h \x03( 階 ݢj"  \x1a ^[m
> z
> > ޖ   f   h   ~ m
> > \x04 {.n +       +%  lzwm  b 맲  r  yǩ ׯzX  \x17  ܨ}   Ơz &j:+v        zZ+  +zf   h   ~    i   z \x1e w
> > ?    & )ߢ^[f
>
> ________________________________
>
> PLEASE NOTE: The information contained in this electronic mail message is
> intended only for the use of the designated recipient(s) named above. If the
> reader of this message is not the intended recipient, you are hereby notified
> that you have received this message in error and that any review,
> dissemination, distribution, or copying of this message is strictly prohibited. If
> you have received this communication in error, please notify the sender by
> telephone or e-mail (as shown above) immediately and destroy any and all
> copies of this message in your possession (whether hard copies or
> electronically stored copies).
>
> N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j
>   f   h   z \x1e w
>    j:+v   w j m
>     zZ+     ݢj"  ! i

________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).


^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-09-12 20:35               ` Allen Samuels
  2015-09-13  3:53                 ` Varada Kari
@ 2015-09-14 16:47                 ` James (Fei) Liu-SSI
  2015-09-14 17:16                   ` Allen Samuels
  1 sibling, 1 reply; 30+ messages in thread
From: James (Fei) Liu-SSI @ 2015-09-14 16:47 UTC (permalink / raw
  To: Allen Samuels, Varada Kari, Sage Weil, Matt W. Benjamin,
	Loic Dachary
  Cc: ceph-devel

Hi Allen,
    I am not exactly  sure what the vtable is. Is the vtable same as vtable from  C++ object concept?  IMHP, the procedure linkage table was used to redirect position-independent function calls to absolute location of function based on the ELF format spec[1]. The performance hit for shared library might be negligible. There is very old articles to talk about the performance tests between shared vs static libs[2].  I am not following  up the lasted complier/linker technologies any more. Would be great to know any new updates.  

[1]http://www.skyfree.org/linux/references/ELF_Format.pdf
[2]https://gcc.gnu.org/ml/gcc/2004-06/msg01956.html 

Regards,
James

-----Original Message-----
From: Allen Samuels [mailto:Allen.Samuels@sandisk.com] 
Sent: Saturday, September 12, 2015 1:35 PM
To: Varada Kari; James (Fei) Liu-SSI; Sage Weil; Matt W. Benjamin; Loic Dachary
Cc: ceph-devel
Subject: RE: loadable objectstore

Performance impact after initialization will be zero. All of the call sequences are done as vtable dynamic dispatches on the global ObjectStore instance. This type of call sequence doesn't matter whether it's dynamic or statically linked, they are the same (a simple indirection through the vtbl which is loaded from a known constant offset in the object).


Allen Samuels
Chief Software Architect, Emerging Storage Solutions 

951 SanDisk Drive, Milpitas, CA 95035
T: +1 408 801 7030| M: +1 408 780 6416
allen.samuels@SanDisk.com

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Friday, September 11, 2015 9:34 PM
To: James (Fei) Liu-SSI <james.liu@ssi.samsung.com>; Sage Weil <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic Dachary <loic@dachary.org>
Cc: ceph-devel <ceph-devel@vger.kernel.org>
Subject: RE: loadable objectstore

Hi James,

Please find the responses inline.

varada

> -----Original Message-----
> From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> Sent: Saturday, September 12, 2015 12:13 AM
> To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil 
> <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic 
> Dachary <loic@dachary.org>
> Cc: ceph-devel <ceph-devel@vger.kernel.org>
> Subject: RE: loadable objectstore
>
> Hi Varada,
>   Got a chance to go through the code. Great job. It is much cleaner . 
> Several
> questions:
>   1. What you think about the performance impact with the new 
> implementation? Such  as dynamic library vs static link?
[Varada Kari] Haven't measured the performance yet, but there will be some hit due to static vs dynamic. But that shouldn't be a major degradation, but I will hold on till we have some perf runs to figure that out.
>   2. Could any vendor just provide a objectstore interfaces complied 
> dynamic binary library for their own storage engine with new factory framework?
[Varada Kari] That was one of the design motives for this change. Yes any backend adhering the interfaces of object store can integrate with osd. All they need to do provide a factory interface and the required version and init functionality additionally to all the required object store interfaces.
>
>   Regards,
>   James
>
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, September 11, 2015 3:28 AM
> To: Sage Weil; Matt W. Benjamin; Loic Dachary
> Cc: ceph-devel
> Subject: RE: loadable objectstore
>
> Hi Sage/ Matt,
>
> I have submitted the pull request based on wip-plugin branch for the 
> object store factory implementation at https://github.com/ceph/ceph/pull/5884 .
> Haven't rebased to the master yet. Working on rebase and including new 
> store in the factory implementation.  Please have a look and let me 
> know your comments. Will submit a rebased PR soon with new store integration.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, July 03, 2015 7:31 PM
> To: Sage Weil <sage@newdream.net>; Adam Crume <adamcrume@gmail.com>
> Cc: Loic Dachary <loic@dachary.org>; ceph-devel <ceph- 
> devel@vger.kernel.org>; Matt W. Benjamin <matt@cohortfs.com>
> Subject: RE: loadable objectstore
>
> Hi All,
>
> Not able to make much progress after making common as a shared object 
> along with object store.
> Compilation of the test binaries are failing with "./.libs/libceph_filestore.so:
> undefined reference to `tracepoint_dlopen'".
>
>   CXXLD    ceph_streamtest
> ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> collect2: error: ld returned 1 exit status
> make[3]: *** [ceph_streamtest] Error 1
>
> But libfilestore.so is linked with lttng-ust.
>
> src/.libs$ ldd libceph_filestore.so
>         libceph_keyvaluestore.so.1 => /home/varada/obs-factory/plugin-
> work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
>         libceph_os.so.1 => /home/varada/obs-factory/plugin-
> work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
>         libcommon.so.1 => /home/varada/ obs-factory/plugin-
> work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
>         liblttng-ust.so.0 => 
> /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0
> (0x00007f5e4b179000)
>         liblttng-ust-tracepoint.so.0 => 
> /usr/lib/x86_64-linux-gnu/liblttng-ust-
> tracepoint.so.0 (0x00007f5e4a021000)
>         liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
>         liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1 
> (0x00007f5e49c12000)
>
> Edited the above output just show the dependencies.
> Did anyone face this issue before?
> Any help would be much appreciated.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, June 26, 2015 3:34 PM
> To: Sage Weil
> Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
> Subject: RE: loadable objectstore
>
> Hi,
>
> Made some more changes to resolve lttng problems at 
> https://github.com/varadakari/ceph/commits/wip-plugin.
> But couldn’t by pass the issues. Facing some issues like mentioned below.
>
> ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
>
> Compiling with -llttng-ust is not resolving the problem. Seen some 
> threads in devel list before, mentioning this problem.
> Can anyone take a look and guide me to fix this problem?
>
> Haven't made the changes to change the plugin name etc... will be 
> making them as part of cleanup.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Monday, June 22, 2015 8:57 PM
> To: Matt W. Benjamin
> Cc: Loic Dachary; ceph-devel; Sage Weil
> Subject: RE: loadable objectstore
>
> Hi Matt,
>
> Majority of the changes are segregating the files to corresponding 
> shared object and creating a factory object. And the naming is mostly 
> taken from Erasure-coding plugins. Want a good naming convention :-), 
> hence a preliminary review. Do agree, we have lot of loadable 
> interfaces, and I think we are in the way of making them on-demand (if 
> possible) loadable modules.
>
> Varada
>
> -----Original Message-----
> From: Matt W. Benjamin [mailto:matt@cohortfs.com]
> Sent: Monday, June 22, 2015 8:37 PM
> To: Varada Kari
> Cc: Loic Dachary; ceph-devel; Sage Weil
> Subject: Re: loadable objectstore
>
> Hi,
>
> It's just aesthetic, but it feels clunky to change the names of well 
> known modules to <something>Plugin--esp. if that generalizes forward 
> to new loadable modules (and we have a lot of loadable interfaces).
>
> Matt
>
> ----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:
>
> > Hi Sage,
> >
> > Please find the initial implementation of objects store factory 
> > (initial cut) at
> >
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ed
> e
> > 4f189ec7e1c8
> >
> > This is still work in progress branch. Right now I am facing Lttng 
> > issues,
> > LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate 
> > registration of tracepoint probes having the same name is not allowed.
> >
> > Might be an issue with libcommon inclusion. Trying resolving the 
> > issue now. Seems I need to make libcommon also as a shared object to 
> > avoid the duplicates, static linking is a problem here.
> > Any suggestions or comments on this problem?
> >
> >
> > I have commented out test binary (ceph_test_keyvaluedb_atomicity) 
> > compilation, due to unresolved symbols for g_ceph_context and g_conf.
> > Not able to fix/workaround the problem so far.
> >
> > Can you please review if this is what in your mind for the factory 
> > implementation?
> >
> > We can extend this implementation to messenger and different backend 
> > of the OSD. Will make those incremental once the base framework is 
> > approved.
> >
> > Thanks,
> > Varada
> >
> >
> >
> > -----Original Message-----
> > From: Sage Weil [mailto:sage@newdream.net]
> > Sent: Tuesday, May 12, 2015 5:11 AM
> > To: Varada Kari
> > Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> > Subject: RE: loadable objectstore
> >
> > Hi Varada,
> >
> > Any progress on this?
> >
> > Thanks!
> > sage
> >
> > On Sat, 11 Apr 2015, Varada Kari wrote:
> >
> > > Thanks Sage and Loic. Will add the missing pieces and integrate 
> > > the
> > object factory and plugin changes.
> > >
> > > Varada
> > >
> > > -----Original Message-----
> > > From: Sage Weil [mailto:sage@newdream.net]
> > > Sent: Saturday, April 11, 2015 9:19 PM
> > > To: Loic Dachary
> > > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > > Subject: Re: loadable objectstore
> > >
> > > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > > Hi Sage,
> > > >
> > > > It looks like common/PluginRegistry.{h,cc} are missing from 
> > > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> > >
> > > whoops pushed! :)
> > >
> > > sage
> > >
> > > >
> > > > Cheers
> > > >
> > > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > > >> Hi Matt/ Sage,
> > > > >>
> > > > >> Thanks for sharing the pull request. Will work on the items
> > what
> > > > >> sage was mentioning in the comments along with the items in 
> > > > >> the
> > tracker.
> > > > >
> > > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > > does this make sense?  It's only compile tested, and still
> > needs
> > > > > preload() methods implemented so that long-running daemons (or 
> > > > > perhaps others?) can preload it all at once.
> > > > >
> > > > > Ideally we would replace ErasurePluginRegistry with this too, 
> > > > > which means the naming of the .so's needs to be a bit more 
> > > > > flexible as the EC plugin scheme is something like 
> > > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict 
> > > > > function
> >
> > > > > of type and name).  Or actually, we can just rename the EC 
> > > > > .so's
> >
> > > > > when this goes in?  Since they're explicitly incompatible
> > between
> > > > > versions there is no reason the names need to remain
> > consistent...
> > > > >
> > > > > sage
> > > > >
> > > > >>
> > > > >> Varada
> > > > >>
> > > > >> -----Original Message-----
> > > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > > >> To: Matt W. Benjamin
> > > > >> Cc: Varada Kari; ceph-devel
> > > > >> Subject: Re: loadable objectstore
> > > > >>
> > > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > > >>> Hi Varada,
> > > > >>>
> > > > >>> I pushed branch hammer-osfactory to 
> > > > >>> https://github.com/linuxbox2/ceph.git
> > > > >>>
> > > > >>> It can at least provide a starting point for discussion, if
> > not
> > > > >>> a jumping off point;  I do think it's basically what Sage
> > described.
> > > > >>
> > > > >> I made a few comments on the pull request.  I think a factory
> > class is the way to go, but we should be able to make the plugin 
> > loading part generic and not interface specific at all...
> > > > >>
> > > > >> sage
> > > > >>
> > > > >>>
> > > > >>> I was able to update the CMake build system to build the 
> > > > >>> tree,
> > I
> > > > >>> haven't attempted Autotools. :(
> > > > >>>
> > > > >>> Regards,
> > > > >>>
> > > > >>> Matt
> > > > >>>
> > > > >>> --
> > > > >>> Matt Benjamin
> > > > >>> CohortFS, LLC.
> > > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > > > >>>
> > > > >>> http://cohortfs.com
> > > > >>>
> > > > >>> tel.  734-761-4689
> > > > >>> fax.  734-769-8938
> > > > >>> cel.  734-216-5309
> > > > >>> --
> > > > >>> To unsubscribe from this list: send the line "unsubscribe
> > ceph-devel"
> > > > >>> in the body of a message to majordomo@vger.kernel.org More 
> > > > >>> majordomo info at  
> > > > >>> http://vger.kernel.org/majordomo-info.html
> > > > >>>
> > > > >>>
> > > > >>
> > > > >> ________________________________
> > > > >>
> > > > >> PLEASE NOTE: The information contained in this electronic 
> > > > >> mail
> > message is intended only for the use of the designated recipient(s) 
> > named above. If the reader of this message is not the intended 
> > recipient, you are hereby notified that you have received this 
> > message in error and that any review, dissemination, distribution, 
> > or copying of this message is strictly prohibited. If you have 
> > received this communication in error, please notify the sender by 
> > telephone or e-mail (as shown above) immediately and destroy any and 
> > all copies of this message in your possession (whether hard copies 
> > or electronically stored copies).
> > > > >>
> > > > >> --
> > > > >> To unsubscribe from this list: send the line "unsubscribe 
> > > > >> ceph-devel" in the body of a message to
> > majordomo@vger.kernel.org
> > > > >> More majordomo info at
> > > > >> http://vger.kernel.org/majordomo-info.html
> > > > >>
> > > > >>
> > > > > --
> > > > > To unsubscribe from this list: send the line "unsubscribe 
> > > > > ceph-devel" in the body of a message to
> > majordomo@vger.kernel.org
> > > > > More majordomo info at
> > http://vger.kernel.org/majordomo-info.html
> > > > >
> > > >
> > > > --
> > > > Loïc Dachary, Artisan Logiciel Libre
> > > >
> > > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe
> > ceph-devel"
> > > in the body of a message to majordomo@vger.kernel.org More
> majordomo
> >
> > > info at  http://vger.kernel.org/majordomo-info.html
> > >
> > >
>
> --
> Matt Benjamin
> CohortFS, LLC.
> 315 West Huron Street, Suite 140A
> Ann Arbor, Michigan 48103
>
> http://cohortfs.com
>
> tel.  734-761-4689
> fax.  734-769-8938
> cel.  734-216-5309
>
> ________________________________
>
> PLEASE NOTE: The information contained in this electronic mail message 
> is intended only for the use of the designated recipient(s) named 
> above. If the reader of this message is not the intended recipient, 
> you are hereby notified that you have received this message in error 
> and that any review, dissemination, distribution, or copying of this 
> message is strictly prohibited. If you have received this 
> communication in error, please notify the sender by telephone or 
> e-mail (as shown above) immediately and destroy any and all copies of 
> this message in your possession (whether hard copies or electronically stored copies).
>
> N     r  y   b X  ǧv ^ )޺{.n +   z ]z
> N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w       j:+v   w j m         zZ+
> ݢj"  ! i
> \x13  칻\x1c & ~ & \x18  +-  ݶ\x17  w  ˛   m \x1e \x17^  b  ^n r   z \x1a  h    &  \x1e G   h \x03( 階 ݢj"  \x1a ^[m     z
> ޖ   f   h   ~ m
> \x04 {.n +       +%  lzwm  b 맲  r  yǩ ׯzX  \x17  ܨ}   Ơz &j:+v        zZ+  +zf   h   ~    i   z \x1e w
> ?    & )ߢ^[f

________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).

N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j
  f   h   z \x1e w   
   j:+v   w j m    
    zZ+     ݢj"  ! i

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-09-14 16:47                 ` James (Fei) Liu-SSI
@ 2015-09-14 17:16                   ` Allen Samuels
  0 siblings, 0 replies; 30+ messages in thread
From: Allen Samuels @ 2015-09-14 17:16 UTC (permalink / raw
  To: James (Fei) Liu-SSI, Varada Kari, Sage Weil, Matt W. Benjamin,
	Loic Dachary
  Cc: ceph-devel

Yes, I'm referring to the C++ vtable.

Allen Samuels
Software Architect, Emerging Storage Solutions 

2880 Junction Avenue, Milpitas, CA 95134
T: +1 408 801 7030| M: +1 408 780 6416
allen.samuels@SanDisk.com

-----Original Message-----
From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com] 
Sent: Monday, September 14, 2015 9:48 AM
To: Allen Samuels <Allen.Samuels@sandisk.com>; Varada Kari <Varada.Kari@sandisk.com>; Sage Weil <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic Dachary <loic@dachary.org>
Cc: ceph-devel <ceph-devel@vger.kernel.org>
Subject: RE: loadable objectstore

Hi Allen,
    I am not exactly  sure what the vtable is. Is the vtable same as vtable from  C++ object concept?  IMHP, the procedure linkage table was used to redirect position-independent function calls to absolute location of function based on the ELF format spec[1]. The performance hit for shared library might be negligible. There is very old articles to talk about the performance tests between shared vs static libs[2].  I am not following  up the lasted complier/linker technologies any more. Would be great to know any new updates.  

[1]http://www.skyfree.org/linux/references/ELF_Format.pdf
[2]https://gcc.gnu.org/ml/gcc/2004-06/msg01956.html 

Regards,
James

-----Original Message-----
From: Allen Samuels [mailto:Allen.Samuels@sandisk.com]
Sent: Saturday, September 12, 2015 1:35 PM
To: Varada Kari; James (Fei) Liu-SSI; Sage Weil; Matt W. Benjamin; Loic Dachary
Cc: ceph-devel
Subject: RE: loadable objectstore

Performance impact after initialization will be zero. All of the call sequences are done as vtable dynamic dispatches on the global ObjectStore instance. This type of call sequence doesn't matter whether it's dynamic or statically linked, they are the same (a simple indirection through the vtbl which is loaded from a known constant offset in the object).


Allen Samuels
Chief Software Architect, Emerging Storage Solutions 

951 SanDisk Drive, Milpitas, CA 95035
T: +1 408 801 7030| M: +1 408 780 6416
allen.samuels@SanDisk.com

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Friday, September 11, 2015 9:34 PM
To: James (Fei) Liu-SSI <james.liu@ssi.samsung.com>; Sage Weil <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic Dachary <loic@dachary.org>
Cc: ceph-devel <ceph-devel@vger.kernel.org>
Subject: RE: loadable objectstore

Hi James,

Please find the responses inline.

varada

> -----Original Message-----
> From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> Sent: Saturday, September 12, 2015 12:13 AM
> To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil 
> <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic 
> Dachary <loic@dachary.org>
> Cc: ceph-devel <ceph-devel@vger.kernel.org>
> Subject: RE: loadable objectstore
>
> Hi Varada,
>   Got a chance to go through the code. Great job. It is much cleaner . 
> Several
> questions:
>   1. What you think about the performance impact with the new 
> implementation? Such  as dynamic library vs static link?
[Varada Kari] Haven't measured the performance yet, but there will be some hit due to static vs dynamic. But that shouldn't be a major degradation, but I will hold on till we have some perf runs to figure that out.
>   2. Could any vendor just provide a objectstore interfaces complied 
> dynamic binary library for their own storage engine with new factory framework?
[Varada Kari] That was one of the design motives for this change. Yes any backend adhering the interfaces of object store can integrate with osd. All they need to do provide a factory interface and the required version and init functionality additionally to all the required object store interfaces.
>
>   Regards,
>   James
>
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, September 11, 2015 3:28 AM
> To: Sage Weil; Matt W. Benjamin; Loic Dachary
> Cc: ceph-devel
> Subject: RE: loadable objectstore
>
> Hi Sage/ Matt,
>
> I have submitted the pull request based on wip-plugin branch for the 
> object store factory implementation at https://github.com/ceph/ceph/pull/5884 .
> Haven't rebased to the master yet. Working on rebase and including new 
> store in the factory implementation.  Please have a look and let me 
> know your comments. Will submit a rebased PR soon with new store integration.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, July 03, 2015 7:31 PM
> To: Sage Weil <sage@newdream.net>; Adam Crume <adamcrume@gmail.com>
> Cc: Loic Dachary <loic@dachary.org>; ceph-devel <ceph- 
> devel@vger.kernel.org>; Matt W. Benjamin <matt@cohortfs.com>
> Subject: RE: loadable objectstore
>
> Hi All,
>
> Not able to make much progress after making common as a shared object 
> along with object store.
> Compilation of the test binaries are failing with "./.libs/libceph_filestore.so:
> undefined reference to `tracepoint_dlopen'".
>
>   CXXLD    ceph_streamtest
> ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> collect2: error: ld returned 1 exit status
> make[3]: *** [ceph_streamtest] Error 1
>
> But libfilestore.so is linked with lttng-ust.
>
> src/.libs$ ldd libceph_filestore.so
>         libceph_keyvaluestore.so.1 => /home/varada/obs-factory/plugin-
> work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
>         libceph_os.so.1 => /home/varada/obs-factory/plugin-
> work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
>         libcommon.so.1 => /home/varada/ obs-factory/plugin-
> work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
>         liblttng-ust.so.0 =>
> /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0
> (0x00007f5e4b179000)
>         liblttng-ust-tracepoint.so.0 =>
> /usr/lib/x86_64-linux-gnu/liblttng-ust-
> tracepoint.so.0 (0x00007f5e4a021000)
>         liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
>         liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1
> (0x00007f5e49c12000)
>
> Edited the above output just show the dependencies.
> Did anyone face this issue before?
> Any help would be much appreciated.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, June 26, 2015 3:34 PM
> To: Sage Weil
> Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
> Subject: RE: loadable objectstore
>
> Hi,
>
> Made some more changes to resolve lttng problems at 
> https://github.com/varadakari/ceph/commits/wip-plugin.
> But couldn’t by pass the issues. Facing some issues like mentioned below.
>
> ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
>
> Compiling with -llttng-ust is not resolving the problem. Seen some 
> threads in devel list before, mentioning this problem.
> Can anyone take a look and guide me to fix this problem?
>
> Haven't made the changes to change the plugin name etc... will be 
> making them as part of cleanup.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Monday, June 22, 2015 8:57 PM
> To: Matt W. Benjamin
> Cc: Loic Dachary; ceph-devel; Sage Weil
> Subject: RE: loadable objectstore
>
> Hi Matt,
>
> Majority of the changes are segregating the files to corresponding 
> shared object and creating a factory object. And the naming is mostly 
> taken from Erasure-coding plugins. Want a good naming convention :-), 
> hence a preliminary review. Do agree, we have lot of loadable 
> interfaces, and I think we are in the way of making them on-demand (if
> possible) loadable modules.
>
> Varada
>
> -----Original Message-----
> From: Matt W. Benjamin [mailto:matt@cohortfs.com]
> Sent: Monday, June 22, 2015 8:37 PM
> To: Varada Kari
> Cc: Loic Dachary; ceph-devel; Sage Weil
> Subject: Re: loadable objectstore
>
> Hi,
>
> It's just aesthetic, but it feels clunky to change the names of well 
> known modules to <something>Plugin--esp. if that generalizes forward 
> to new loadable modules (and we have a lot of loadable interfaces).
>
> Matt
>
> ----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:
>
> > Hi Sage,
> >
> > Please find the initial implementation of objects store factory 
> > (initial cut) at
> >
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ed
> e
> > 4f189ec7e1c8
> >
> > This is still work in progress branch. Right now I am facing Lttng 
> > issues,
> > LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate 
> > registration of tracepoint probes having the same name is not allowed.
> >
> > Might be an issue with libcommon inclusion. Trying resolving the 
> > issue now. Seems I need to make libcommon also as a shared object to 
> > avoid the duplicates, static linking is a problem here.
> > Any suggestions or comments on this problem?
> >
> >
> > I have commented out test binary (ceph_test_keyvaluedb_atomicity) 
> > compilation, due to unresolved symbols for g_ceph_context and g_conf.
> > Not able to fix/workaround the problem so far.
> >
> > Can you please review if this is what in your mind for the factory 
> > implementation?
> >
> > We can extend this implementation to messenger and different backend 
> > of the OSD. Will make those incremental once the base framework is 
> > approved.
> >
> > Thanks,
> > Varada
> >
> >
> >
> > -----Original Message-----
> > From: Sage Weil [mailto:sage@newdream.net]
> > Sent: Tuesday, May 12, 2015 5:11 AM
> > To: Varada Kari
> > Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> > Subject: RE: loadable objectstore
> >
> > Hi Varada,
> >
> > Any progress on this?
> >
> > Thanks!
> > sage
> >
> > On Sat, 11 Apr 2015, Varada Kari wrote:
> >
> > > Thanks Sage and Loic. Will add the missing pieces and integrate 
> > > the
> > object factory and plugin changes.
> > >
> > > Varada
> > >
> > > -----Original Message-----
> > > From: Sage Weil [mailto:sage@newdream.net]
> > > Sent: Saturday, April 11, 2015 9:19 PM
> > > To: Loic Dachary
> > > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > > Subject: Re: loadable objectstore
> > >
> > > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > > Hi Sage,
> > > >
> > > > It looks like common/PluginRegistry.{h,cc} are missing from 
> > > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> > >
> > > whoops pushed! :)
> > >
> > > sage
> > >
> > > >
> > > > Cheers
> > > >
> > > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > > >> Hi Matt/ Sage,
> > > > >>
> > > > >> Thanks for sharing the pull request. Will work on the items
> > what
> > > > >> sage was mentioning in the comments along with the items in 
> > > > >> the
> > tracker.
> > > > >
> > > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > > does this make sense?  It's only compile tested, and still
> > needs
> > > > > preload() methods implemented so that long-running daemons (or 
> > > > > perhaps others?) can preload it all at once.
> > > > >
> > > > > Ideally we would replace ErasurePluginRegistry with this too, 
> > > > > which means the naming of the .so's needs to be a bit more 
> > > > > flexible as the EC plugin scheme is something like 
> > > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict 
> > > > > function
> >
> > > > > of type and name).  Or actually, we can just rename the EC 
> > > > > .so's
> >
> > > > > when this goes in?  Since they're explicitly incompatible
> > between
> > > > > versions there is no reason the names need to remain
> > consistent...
> > > > >
> > > > > sage
> > > > >
> > > > >>
> > > > >> Varada
> > > > >>
> > > > >> -----Original Message-----
> > > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > > >> To: Matt W. Benjamin
> > > > >> Cc: Varada Kari; ceph-devel
> > > > >> Subject: Re: loadable objectstore
> > > > >>
> > > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > > >>> Hi Varada,
> > > > >>>
> > > > >>> I pushed branch hammer-osfactory to 
> > > > >>> https://github.com/linuxbox2/ceph.git
> > > > >>>
> > > > >>> It can at least provide a starting point for discussion, if
> > not
> > > > >>> a jumping off point;  I do think it's basically what Sage
> > described.
> > > > >>
> > > > >> I made a few comments on the pull request.  I think a factory
> > class is the way to go, but we should be able to make the plugin 
> > loading part generic and not interface specific at all...
> > > > >>
> > > > >> sage
> > > > >>
> > > > >>>
> > > > >>> I was able to update the CMake build system to build the 
> > > > >>> tree,
> > I
> > > > >>> haven't attempted Autotools. :(
> > > > >>>
> > > > >>> Regards,
> > > > >>>
> > > > >>> Matt
> > > > >>>
> > > > >>> --
> > > > >>> Matt Benjamin
> > > > >>> CohortFS, LLC.
> > > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > > > >>>
> > > > >>> http://cohortfs.com
> > > > >>>
> > > > >>> tel.  734-761-4689
> > > > >>> fax.  734-769-8938
> > > > >>> cel.  734-216-5309
> > > > >>> --
> > > > >>> To unsubscribe from this list: send the line "unsubscribe
> > ceph-devel"
> > > > >>> in the body of a message to majordomo@vger.kernel.org More 
> > > > >>> majordomo info at http://vger.kernel.org/majordomo-info.html
> > > > >>>
> > > > >>>
> > > > >>
> > > > >> ________________________________
> > > > >>
> > > > >> PLEASE NOTE: The information contained in this electronic 
> > > > >> mail
> > message is intended only for the use of the designated recipient(s) 
> > named above. If the reader of this message is not the intended 
> > recipient, you are hereby notified that you have received this 
> > message in error and that any review, dissemination, distribution, 
> > or copying of this message is strictly prohibited. If you have 
> > received this communication in error, please notify the sender by 
> > telephone or e-mail (as shown above) immediately and destroy any and 
> > all copies of this message in your possession (whether hard copies 
> > or electronically stored copies).
> > > > >>
> > > > >> --
> > > > >> To unsubscribe from this list: send the line "unsubscribe 
> > > > >> ceph-devel" in the body of a message to
> > majordomo@vger.kernel.org
> > > > >> More majordomo info at
> > > > >> http://vger.kernel.org/majordomo-info.html
> > > > >>
> > > > >>
> > > > > --
> > > > > To unsubscribe from this list: send the line "unsubscribe 
> > > > > ceph-devel" in the body of a message to
> > majordomo@vger.kernel.org
> > > > > More majordomo info at
> > http://vger.kernel.org/majordomo-info.html
> > > > >
> > > >
> > > > --
> > > > Loïc Dachary, Artisan Logiciel Libre
> > > >
> > > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe
> > ceph-devel"
> > > in the body of a message to majordomo@vger.kernel.org More
> majordomo
> >
> > > info at  http://vger.kernel.org/majordomo-info.html
> > >
> > >
>
> --
> Matt Benjamin
> CohortFS, LLC.
> 315 West Huron Street, Suite 140A
> Ann Arbor, Michigan 48103
>
> http://cohortfs.com
>
> tel.  734-761-4689
> fax.  734-769-8938
> cel.  734-216-5309
>
> ________________________________
>
> PLEASE NOTE: The information contained in this electronic mail message 
> is intended only for the use of the designated recipient(s) named 
> above. If the reader of this message is not the intended recipient, 
> you are hereby notified that you have received this message in error 
> and that any review, dissemination, distribution, or copying of this 
> message is strictly prohibited. If you have received this 
> communication in error, please notify the sender by telephone or 
> e-mail (as shown above) immediately and destroy any and all copies of 
> this message in your possession (whether hard copies or electronically stored copies).
>
> N     r  y   b X  ǧv ^ )޺{.n +   z ]z
> N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w       j:+v   w j m         zZ+
> ݢj"  ! i
> \x13  칻\x1c & ~ & \x18  +-  ݶ\x17  w  ˛   m \x1e \x17^  b  ^n r   z \x1a  h    &  \x1e G   h \x03( 階 ݢj"  \x1a ^[m     z
> ޖ   f   h   ~ m
> \x04 {.n +       +%  lzwm  b 맲  r  yǩ ׯzX  \x17  ܨ}   Ơz &j:+v        zZ+  +zf   h   ~    i   z \x1e w
> ?    & )ߢ^[f

________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).

N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j
  f   h   z \x1e w   
   j:+v   w j m    
    zZ+     ݢj"  ! i

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-09-11 10:28         ` Varada Kari
  2015-09-11 18:43           ` James (Fei) Liu-SSI
@ 2015-09-28 18:20           ` James (Fei) Liu-SSI
  2015-09-29  1:20             ` Varada Kari
  1 sibling, 1 reply; 30+ messages in thread
From: James (Fei) Liu-SSI @ 2015-09-28 18:20 UTC (permalink / raw
  To: Varada Kari, Sage Weil, Matt W. Benjamin, Loic Dachary; +Cc: ceph-devel

Hi Varada,
  Have you rebased the pull request to master already?  

  Thanks,
  James 

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Friday, September 11, 2015 3:28 AM
To: Sage Weil; Matt W. Benjamin; Loic Dachary
Cc: ceph-devel
Subject: RE: loadable objectstore

Hi Sage/ Matt,

I have submitted the pull request based on wip-plugin branch for the object store factory implementation at https://github.com/ceph/ceph/pull/5884 . Haven't rebased to the master yet. Working on rebase and including new store in the factory implementation.  Please have a look and let me know your comments. Will submit a rebased PR soon with new store integration. 

Thanks,
Varada

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Friday, July 03, 2015 7:31 PM
To: Sage Weil <sage@newdream.net>; Adam Crume <adamcrume@gmail.com>
Cc: Loic Dachary <loic@dachary.org>; ceph-devel <ceph-devel@vger.kernel.org>; Matt W. Benjamin <matt@cohortfs.com>
Subject: RE: loadable objectstore

Hi All,

Not able to make much progress after making common as a shared object along with object store. 
Compilation of the test binaries are failing with "./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'".

  CXXLD    ceph_streamtest
./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
collect2: error: ld returned 1 exit status
make[3]: *** [ceph_streamtest] Error 1

But libfilestore.so is linked with lttng-ust.

src/.libs$ ldd libceph_filestore.so
        libceph_keyvaluestore.so.1 => /home/varada/obs-factory/plugin-work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
        libceph_os.so.1 => /home/varada/obs-factory/plugin-work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
        libcommon.so.1 => /home/varada/ obs-factory/plugin-work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
        liblttng-ust.so.0 => /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0 (0x00007f5e4b179000)
        liblttng-ust-tracepoint.so.0 => /usr/lib/x86_64-linux-gnu/liblttng-ust-tracepoint.so.0 (0x00007f5e4a021000)
        liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
        liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1 (0x00007f5e49c12000)

Edited the above output just show the dependencies.  
Did anyone face this issue before? 
Any help would be much appreciated. 

Thanks,
Varada

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Friday, June 26, 2015 3:34 PM
To: Sage Weil
Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
Subject: RE: loadable objectstore

Hi,

Made some more changes to resolve lttng problems at https://github.com/varadakari/ceph/commits/wip-plugin.
But couldn’t by pass the issues. Facing some issues like mentioned below.

./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'

Compiling with -llttng-ust is not resolving the problem. Seen some threads in devel list before, mentioning this problem. 
Can anyone take a look and guide me to fix this problem?

Haven't made the changes to change the plugin name etc... will be making them as part of cleanup.

Thanks,
Varada

-----Original Message-----
From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Varada Kari
Sent: Monday, June 22, 2015 8:57 PM
To: Matt W. Benjamin
Cc: Loic Dachary; ceph-devel; Sage Weil
Subject: RE: loadable objectstore

Hi Matt,

Majority of the changes are segregating the files to corresponding shared object and creating a factory object. And the naming is mostly taken from Erasure-coding plugins. Want a good naming convention :-), hence a preliminary review. Do agree, we have lot of loadable interfaces, and I think we are in the way of making them on-demand (if possible) loadable modules.

Varada

-----Original Message-----
From: Matt W. Benjamin [mailto:matt@cohortfs.com]
Sent: Monday, June 22, 2015 8:37 PM
To: Varada Kari
Cc: Loic Dachary; ceph-devel; Sage Weil
Subject: Re: loadable objectstore

Hi,

It's just aesthetic, but it feels clunky to change the names of well known modules to <something>Plugin--esp. if that generalizes forward to new loadable modules (and we have a lot of loadable interfaces).

Matt

----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:

> Hi Sage,
>
> Please find the initial implementation of objects store factory 
> (initial cut) at 
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ede
> 4f189ec7e1c8
>
> This is still work in progress branch. Right now I am facing Lttng 
> issues,
> LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate 
> registration of tracepoint probes having the same name is not allowed.
>
> Might be an issue with libcommon inclusion. Trying resolving the issue 
> now. Seems I need to make libcommon also as a shared object to avoid 
> the duplicates, static linking is a problem here.
> Any suggestions or comments on this problem?
>
>
> I have commented out test binary (ceph_test_keyvaluedb_atomicity) 
> compilation, due to unresolved symbols for g_ceph_context and g_conf.
> Not able to fix/workaround the problem so far.
>
> Can you please review if this is what in your mind for the factory 
> implementation?
>
> We can extend this implementation to messenger and different backend 
> of the OSD. Will make those incremental once the base framework is 
> approved.
>
> Thanks,
> Varada
>
>
>
> -----Original Message-----
> From: Sage Weil [mailto:sage@newdream.net]
> Sent: Tuesday, May 12, 2015 5:11 AM
> To: Varada Kari
> Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> Subject: RE: loadable objectstore
>
> Hi Varada,
>
> Any progress on this?
>
> Thanks!
> sage
>
> On Sat, 11 Apr 2015, Varada Kari wrote:
>
> > Thanks Sage and Loic. Will add the missing pieces and integrate the
> object factory and plugin changes.
> >
> > Varada
> >
> > -----Original Message-----
> > From: Sage Weil [mailto:sage@newdream.net]
> > Sent: Saturday, April 11, 2015 9:19 PM
> > To: Loic Dachary
> > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > Subject: Re: loadable objectstore
> >
> > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > Hi Sage,
> > >
> > > It looks like common/PluginRegistry.{h,cc} are missing from 
> > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> >
> > whoops pushed! :)
> >
> > sage
> >
> > >
> > > Cheers
> > >
> > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > >> Hi Matt/ Sage,
> > > >>
> > > >> Thanks for sharing the pull request. Will work on the items
> what
> > > >> sage was mentioning in the comments along with the items in the
> tracker.
> > > >
> > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > does this make sense?  It's only compile tested, and still
> needs
> > > > preload() methods implemented so that long-running daemons (or 
> > > > perhaps others?) can preload it all at once.
> > > >
> > > > Ideally we would replace ErasurePluginRegistry with this too, 
> > > > which means the naming of the .so's needs to be a bit more 
> > > > flexible as the EC plugin scheme is something like 
> > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict function
>
> > > > of type and name).  Or actually, we can just rename the EC .so's
>
> > > > when this goes in?  Since they're explicitly incompatible
> between
> > > > versions there is no reason the names need to remain
> consistent...
> > > >
> > > > sage
> > > >
> > > >>
> > > >> Varada
> > > >>
> > > >> -----Original Message-----
> > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > >> To: Matt W. Benjamin
> > > >> Cc: Varada Kari; ceph-devel
> > > >> Subject: Re: loadable objectstore
> > > >>
> > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > >>> Hi Varada,
> > > >>>
> > > >>> I pushed branch hammer-osfactory to 
> > > >>> https://github.com/linuxbox2/ceph.git
> > > >>>
> > > >>> It can at least provide a starting point for discussion, if
> not
> > > >>> a jumping off point;  I do think it's basically what Sage
> described.
> > > >>
> > > >> I made a few comments on the pull request.  I think a factory
> class is the way to go, but we should be able to make the plugin 
> loading part generic and not interface specific at all...
> > > >>
> > > >> sage
> > > >>
> > > >>>
> > > >>> I was able to update the CMake build system to build the tree,
> I
> > > >>> haven't attempted Autotools. :(
> > > >>>
> > > >>> Regards,
> > > >>>
> > > >>> Matt
> > > >>>
> > > >>> --
> > > >>> Matt Benjamin
> > > >>> CohortFS, LLC.
> > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > > >>>
> > > >>> http://cohortfs.com
> > > >>>
> > > >>> tel.  734-761-4689
> > > >>> fax.  734-769-8938
> > > >>> cel.  734-216-5309
> > > >>> --
> > > >>> To unsubscribe from this list: send the line "unsubscribe
> ceph-devel"
> > > >>> in the body of a message to majordomo@vger.kernel.org More 
> > > >>> majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > >>>
> > > >>>
> > > >>
> > > >> ________________________________
> > > >>
> > > >> PLEASE NOTE: The information contained in this electronic mail
> message is intended only for the use of the designated recipient(s) 
> named above. If the reader of this message is not the intended 
> recipient, you are hereby notified that you have received this message 
> in error and that any review, dissemination, distribution, or copying 
> of this message is strictly prohibited. If you have received this 
> communication in error, please notify the sender by telephone or 
> e-mail (as shown above) immediately and destroy any and all copies of 
> this message in your possession (whether hard copies or electronically 
> stored copies).
> > > >>
> > > >> --
> > > >> To unsubscribe from this list: send the line "unsubscribe 
> > > >> ceph-devel" in the body of a message to
> majordomo@vger.kernel.org
> > > >> More majordomo info at
> > > >> http://vger.kernel.org/majordomo-info.html
> > > >>
> > > >>
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe 
> > > > ceph-devel" in the body of a message to
> majordomo@vger.kernel.org
> > > > More majordomo info at
> http://vger.kernel.org/majordomo-info.html
> > > >
> > >
> > > --
> > > Loïc Dachary, Artisan Logiciel Libre
> > >
> > >
> > --
> > To unsubscribe from this list: send the line "unsubscribe
> ceph-devel"
> > in the body of a message to majordomo@vger.kernel.org More majordomo
>
> > info at  http://vger.kernel.org/majordomo-info.html
> >
> >

--
Matt Benjamin
CohortFS, LLC.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://cohortfs.com

tel.  734-761-4689
fax.  734-769-8938
cel.  734-216-5309

________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).

N     r  y   b X  ǧv ^ )޺{.n +   z ]z   
N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w       j:+v   w j m         zZ+     ݢj"  ! i
\x13  칻\x1c & ~ & \x18  +-  ݶ\x17  w  ˛   m \x1e \x17^  b  ^n r   z \x1a  h    &  \x1e G   h \x03( 階 ݢj"  \x1a ^[m     z ޖ   f   h   ~ m 
\x04 {.n +       +%  lzwm  b 맲  r  yǩ ׯzX  \x17  ܨ}   Ơz &j:+v        zZ+  +zf   h   ~    i   z \x1e w   ?    & )ߢ^[f

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-09-28 18:20           ` James (Fei) Liu-SSI
@ 2015-09-29  1:20             ` Varada Kari
  2015-09-29 16:38               ` James (Fei) Liu-SSI
  0 siblings, 1 reply; 30+ messages in thread
From: Varada Kari @ 2015-09-29  1:20 UTC (permalink / raw
  To: James (Fei) Liu-SSI, Sage Weil, Matt W. Benjamin, Loic Dachary; +Cc: ceph-devel

No James, Facing library issues with libnss3 and libcommon(ceph). Will resolve them, generate a new pull request soon on master.

Thanks,
Varada

> -----Original Message-----
> From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> Sent: Monday, September 28, 2015 11:51 PM
> To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil
> <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic
> Dachary <loic@dachary.org>
> Cc: ceph-devel <ceph-devel@vger.kernel.org>
> Subject: RE: loadable objectstore
>
> Hi Varada,
>   Have you rebased the pull request to master already?
>
>   Thanks,
>   James
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, September 11, 2015 3:28 AM
> To: Sage Weil; Matt W. Benjamin; Loic Dachary
> Cc: ceph-devel
> Subject: RE: loadable objectstore
>
> Hi Sage/ Matt,
>
> I have submitted the pull request based on wip-plugin branch for the object
> store factory implementation at https://github.com/ceph/ceph/pull/5884 .
> Haven't rebased to the master yet. Working on rebase and including new
> store in the factory implementation.  Please have a look and let me know
> your comments. Will submit a rebased PR soon with new store integration.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, July 03, 2015 7:31 PM
> To: Sage Weil <sage@newdream.net>; Adam Crume
> <adamcrume@gmail.com>
> Cc: Loic Dachary <loic@dachary.org>; ceph-devel <ceph-
> devel@vger.kernel.org>; Matt W. Benjamin <matt@cohortfs.com>
> Subject: RE: loadable objectstore
>
> Hi All,
>
> Not able to make much progress after making common as a shared object
> along with object store.
> Compilation of the test binaries are failing with "./.libs/libceph_filestore.so:
> undefined reference to `tracepoint_dlopen'".
>
>   CXXLD    ceph_streamtest
> ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> collect2: error: ld returned 1 exit status
> make[3]: *** [ceph_streamtest] Error 1
>
> But libfilestore.so is linked with lttng-ust.
>
> src/.libs$ ldd libceph_filestore.so
>         libceph_keyvaluestore.so.1 => /home/varada/obs-factory/plugin-
> work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
>         libceph_os.so.1 => /home/varada/obs-factory/plugin-
> work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
>         libcommon.so.1 => /home/varada/ obs-factory/plugin-
> work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
>         liblttng-ust.so.0 => /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0
> (0x00007f5e4b179000)
>         liblttng-ust-tracepoint.so.0 => /usr/lib/x86_64-linux-gnu/liblttng-ust-
> tracepoint.so.0 (0x00007f5e4a021000)
>         liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
>         liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1 (0x00007f5e49c12000)
>
> Edited the above output just show the dependencies.
> Did anyone face this issue before?
> Any help would be much appreciated.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, June 26, 2015 3:34 PM
> To: Sage Weil
> Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
> Subject: RE: loadable objectstore
>
> Hi,
>
> Made some more changes to resolve lttng problems at
> https://github.com/varadakari/ceph/commits/wip-plugin.
> But couldn’t by pass the issues. Facing some issues like mentioned below.
>
> ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
>
> Compiling with -llttng-ust is not resolving the problem. Seen some threads in
> devel list before, mentioning this problem.
> Can anyone take a look and guide me to fix this problem?
>
> Haven't made the changes to change the plugin name etc... will be making
> them as part of cleanup.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Monday, June 22, 2015 8:57 PM
> To: Matt W. Benjamin
> Cc: Loic Dachary; ceph-devel; Sage Weil
> Subject: RE: loadable objectstore
>
> Hi Matt,
>
> Majority of the changes are segregating the files to corresponding shared
> object and creating a factory object. And the naming is mostly taken from
> Erasure-coding plugins. Want a good naming convention :-), hence a
> preliminary review. Do agree, we have lot of loadable interfaces, and I think
> we are in the way of making them on-demand (if possible) loadable
> modules.
>
> Varada
>
> -----Original Message-----
> From: Matt W. Benjamin [mailto:matt@cohortfs.com]
> Sent: Monday, June 22, 2015 8:37 PM
> To: Varada Kari
> Cc: Loic Dachary; ceph-devel; Sage Weil
> Subject: Re: loadable objectstore
>
> Hi,
>
> It's just aesthetic, but it feels clunky to change the names of well known
> modules to <something>Plugin--esp. if that generalizes forward to new
> loadable modules (and we have a lot of loadable interfaces).
>
> Matt
>
> ----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:
>
> > Hi Sage,
> >
> > Please find the initial implementation of objects store factory
> > (initial cut) at
> >
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ed
> e
> > 4f189ec7e1c8
> >
> > This is still work in progress branch. Right now I am facing Lttng
> > issues,
> > LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate
> > registration of tracepoint probes having the same name is not allowed.
> >
> > Might be an issue with libcommon inclusion. Trying resolving the issue
> > now. Seems I need to make libcommon also as a shared object to avoid
> > the duplicates, static linking is a problem here.
> > Any suggestions or comments on this problem?
> >
> >
> > I have commented out test binary (ceph_test_keyvaluedb_atomicity)
> > compilation, due to unresolved symbols for g_ceph_context and g_conf.
> > Not able to fix/workaround the problem so far.
> >
> > Can you please review if this is what in your mind for the factory
> > implementation?
> >
> > We can extend this implementation to messenger and different backend
> > of the OSD. Will make those incremental once the base framework is
> > approved.
> >
> > Thanks,
> > Varada
> >
> >
> >
> > -----Original Message-----
> > From: Sage Weil [mailto:sage@newdream.net]
> > Sent: Tuesday, May 12, 2015 5:11 AM
> > To: Varada Kari
> > Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> > Subject: RE: loadable objectstore
> >
> > Hi Varada,
> >
> > Any progress on this?
> >
> > Thanks!
> > sage
> >
> > On Sat, 11 Apr 2015, Varada Kari wrote:
> >
> > > Thanks Sage and Loic. Will add the missing pieces and integrate the
> > object factory and plugin changes.
> > >
> > > Varada
> > >
> > > -----Original Message-----
> > > From: Sage Weil [mailto:sage@newdream.net]
> > > Sent: Saturday, April 11, 2015 9:19 PM
> > > To: Loic Dachary
> > > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > > Subject: Re: loadable objectstore
> > >
> > > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > > Hi Sage,
> > > >
> > > > It looks like common/PluginRegistry.{h,cc} are missing from
> > > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> > >
> > > whoops pushed! :)
> > >
> > > sage
> > >
> > > >
> > > > Cheers
> > > >
> > > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > > >> Hi Matt/ Sage,
> > > > >>
> > > > >> Thanks for sharing the pull request. Will work on the items
> > what
> > > > >> sage was mentioning in the comments along with the items in the
> > tracker.
> > > > >
> > > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > > does this make sense?  It's only compile tested, and still
> > needs
> > > > > preload() methods implemented so that long-running daemons (or
> > > > > perhaps others?) can preload it all at once.
> > > > >
> > > > > Ideally we would replace ErasurePluginRegistry with this too,
> > > > > which means the naming of the .so's needs to be a bit more
> > > > > flexible as the EC plugin scheme is something like
> > > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict function
> >
> > > > > of type and name).  Or actually, we can just rename the EC .so's
> >
> > > > > when this goes in?  Since they're explicitly incompatible
> > between
> > > > > versions there is no reason the names need to remain
> > consistent...
> > > > >
> > > > > sage
> > > > >
> > > > >>
> > > > >> Varada
> > > > >>
> > > > >> -----Original Message-----
> > > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > > >> To: Matt W. Benjamin
> > > > >> Cc: Varada Kari; ceph-devel
> > > > >> Subject: Re: loadable objectstore
> > > > >>
> > > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > > >>> Hi Varada,
> > > > >>>
> > > > >>> I pushed branch hammer-osfactory to
> > > > >>> https://github.com/linuxbox2/ceph.git
> > > > >>>
> > > > >>> It can at least provide a starting point for discussion, if
> > not
> > > > >>> a jumping off point;  I do think it's basically what Sage
> > described.
> > > > >>
> > > > >> I made a few comments on the pull request.  I think a factory
> > class is the way to go, but we should be able to make the plugin
> > loading part generic and not interface specific at all...
> > > > >>
> > > > >> sage
> > > > >>
> > > > >>>
> > > > >>> I was able to update the CMake build system to build the tree,
> > I
> > > > >>> haven't attempted Autotools. :(
> > > > >>>
> > > > >>> Regards,
> > > > >>>
> > > > >>> Matt
> > > > >>>
> > > > >>> --
> > > > >>> Matt Benjamin
> > > > >>> CohortFS, LLC.
> > > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > > > >>>
> > > > >>> http://cohortfs.com
> > > > >>>
> > > > >>> tel.  734-761-4689
> > > > >>> fax.  734-769-8938
> > > > >>> cel.  734-216-5309
> > > > >>> --
> > > > >>> To unsubscribe from this list: send the line "unsubscribe
> > ceph-devel"
> > > > >>> in the body of a message to majordomo@vger.kernel.org More
> > > > >>> majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > > >>>
> > > > >>>
> > > > >>
> > > > >> ________________________________
> > > > >>
> > > > >> PLEASE NOTE: The information contained in this electronic mail
> > message is intended only for the use of the designated recipient(s)
> > named above. If the reader of this message is not the intended
> > recipient, you are hereby notified that you have received this message
> > in error and that any review, dissemination, distribution, or copying
> > of this message is strictly prohibited. If you have received this
> > communication in error, please notify the sender by telephone or
> > e-mail (as shown above) immediately and destroy any and all copies of
> > this message in your possession (whether hard copies or electronically
> > stored copies).
> > > > >>
> > > > >> --
> > > > >> To unsubscribe from this list: send the line "unsubscribe
> > > > >> ceph-devel" in the body of a message to
> > majordomo@vger.kernel.org
> > > > >> More majordomo info at
> > > > >> http://vger.kernel.org/majordomo-info.html
> > > > >>
> > > > >>
> > > > > --
> > > > > To unsubscribe from this list: send the line "unsubscribe
> > > > > ceph-devel" in the body of a message to
> > majordomo@vger.kernel.org
> > > > > More majordomo info at
> > http://vger.kernel.org/majordomo-info.html
> > > > >
> > > >
> > > > --
> > > > Loïc Dachary, Artisan Logiciel Libre
> > > >
> > > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe
> > ceph-devel"
> > > in the body of a message to majordomo@vger.kernel.org More
> majordomo
> >
> > > info at  http://vger.kernel.org/majordomo-info.html
> > >
> > >
>
> --
> Matt Benjamin
> CohortFS, LLC.
> 315 West Huron Street, Suite 140A
> Ann Arbor, Michigan 48103
>
> http://cohortfs.com
>
> tel.  734-761-4689
> fax.  734-769-8938
> cel.  734-216-5309
>
> ________________________________
>
> PLEASE NOTE: The information contained in this electronic mail message is
> intended only for the use of the designated recipient(s) named above. If the
> reader of this message is not the intended recipient, you are hereby notified
> that you have received this message in error and that any review,
> dissemination, distribution, or copying of this message is strictly prohibited. If
> you have received this communication in error, please notify the sender by
> telephone or e-mail (as shown above) immediately and destroy any and all
> copies of this message in your possession (whether hard copies or
> electronically stored copies).
>
> N     r  y   b X  ǧv ^ )޺{.n +   z ]z
> N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w       j:+v   w j m         zZ+
> ݢj"  ! i
> \x13  칻\x1c & ~ & \x18  +-  ݶ\x17  w  ˛   m \x1e \x17^  b  ^n r   z \x1a  h    &  \x1e G   h \x03( 階 ݢj"  \x1a ^[m     z
> ޖ   f   h   ~ m
> \x04 {.n +       +%  lzwm  b 맲  r  yǩ ׯzX  \x17  ܨ}   Ơz &j:+v        zZ+  +zf   h   ~    i   z \x1e w
> ?    & )ߢ^[f

________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).


^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-09-29  1:20             ` Varada Kari
@ 2015-09-29 16:38               ` James (Fei) Liu-SSI
  2015-09-29 17:14                 ` Varada Kari
  0 siblings, 1 reply; 30+ messages in thread
From: James (Fei) Liu-SSI @ 2015-09-29 16:38 UTC (permalink / raw
  To: Varada Kari, Sage Weil, Matt W. Benjamin, Loic Dachary; +Cc: ceph-devel

Hi Varada,
  Can you use command nm to see whether " tracepoint_dlopen" is defined in "./.libs/libceph_filestore.so"?


 Regards,
 James


-----Original Message-----
From: Varada Kari [mailto:Varada.Kari@sandisk.com] 
Sent: Monday, September 28, 2015 6:21 PM
To: James (Fei) Liu-SSI; Sage Weil; Matt W. Benjamin; Loic Dachary
Cc: ceph-devel
Subject: RE: loadable objectstore

No James, Facing library issues with libnss3 and libcommon(ceph). Will resolve them, generate a new pull request soon on master.

Thanks,
Varada

> -----Original Message-----
> From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> Sent: Monday, September 28, 2015 11:51 PM
> To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil 
> <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic 
> Dachary <loic@dachary.org>
> Cc: ceph-devel <ceph-devel@vger.kernel.org>
> Subject: RE: loadable objectstore
>
> Hi Varada,
>   Have you rebased the pull request to master already?
>
>   Thanks,
>   James
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, September 11, 2015 3:28 AM
> To: Sage Weil; Matt W. Benjamin; Loic Dachary
> Cc: ceph-devel
> Subject: RE: loadable objectstore
>
> Hi Sage/ Matt,
>
> I have submitted the pull request based on wip-plugin branch for the 
> object store factory implementation at https://github.com/ceph/ceph/pull/5884 .
> Haven't rebased to the master yet. Working on rebase and including new 
> store in the factory implementation.  Please have a look and let me 
> know your comments. Will submit a rebased PR soon with new store integration.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, July 03, 2015 7:31 PM
> To: Sage Weil <sage@newdream.net>; Adam Crume <adamcrume@gmail.com>
> Cc: Loic Dachary <loic@dachary.org>; ceph-devel <ceph- 
> devel@vger.kernel.org>; Matt W. Benjamin <matt@cohortfs.com>
> Subject: RE: loadable objectstore
>
> Hi All,
>
> Not able to make much progress after making common as a shared object 
> along with object store.
> Compilation of the test binaries are failing with "./.libs/libceph_filestore.so:
> undefined reference to `tracepoint_dlopen'".
>
>   CXXLD    ceph_streamtest
> ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> collect2: error: ld returned 1 exit status
> make[3]: *** [ceph_streamtest] Error 1
>
> But libfilestore.so is linked with lttng-ust.
>
> src/.libs$ ldd libceph_filestore.so
>         libceph_keyvaluestore.so.1 => /home/varada/obs-factory/plugin-
> work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
>         libceph_os.so.1 => /home/varada/obs-factory/plugin-
> work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
>         libcommon.so.1 => /home/varada/ obs-factory/plugin-
> work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
>         liblttng-ust.so.0 => 
> /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0
> (0x00007f5e4b179000)
>         liblttng-ust-tracepoint.so.0 => 
> /usr/lib/x86_64-linux-gnu/liblttng-ust-
> tracepoint.so.0 (0x00007f5e4a021000)
>         liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
>         liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1 
> (0x00007f5e49c12000)
>
> Edited the above output just show the dependencies.
> Did anyone face this issue before?
> Any help would be much appreciated.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Friday, June 26, 2015 3:34 PM
> To: Sage Weil
> Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
> Subject: RE: loadable objectstore
>
> Hi,
>
> Made some more changes to resolve lttng problems at 
> https://github.com/varadakari/ceph/commits/wip-plugin.
> But couldn’t by pass the issues. Facing some issues like mentioned below.
>
> ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
>
> Compiling with -llttng-ust is not resolving the problem. Seen some 
> threads in devel list before, mentioning this problem.
> Can anyone take a look and guide me to fix this problem?
>
> Haven't made the changes to change the plugin name etc... will be 
> making them as part of cleanup.
>
> Thanks,
> Varada
>
> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> owner@vger.kernel.org] On Behalf Of Varada Kari
> Sent: Monday, June 22, 2015 8:57 PM
> To: Matt W. Benjamin
> Cc: Loic Dachary; ceph-devel; Sage Weil
> Subject: RE: loadable objectstore
>
> Hi Matt,
>
> Majority of the changes are segregating the files to corresponding 
> shared object and creating a factory object. And the naming is mostly 
> taken from Erasure-coding plugins. Want a good naming convention :-), 
> hence a preliminary review. Do agree, we have lot of loadable 
> interfaces, and I think we are in the way of making them on-demand (if 
> possible) loadable modules.
>
> Varada
>
> -----Original Message-----
> From: Matt W. Benjamin [mailto:matt@cohortfs.com]
> Sent: Monday, June 22, 2015 8:37 PM
> To: Varada Kari
> Cc: Loic Dachary; ceph-devel; Sage Weil
> Subject: Re: loadable objectstore
>
> Hi,
>
> It's just aesthetic, but it feels clunky to change the names of well 
> known modules to <something>Plugin--esp. if that generalizes forward 
> to new loadable modules (and we have a lot of loadable interfaces).
>
> Matt
>
> ----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:
>
> > Hi Sage,
> >
> > Please find the initial implementation of objects store factory 
> > (initial cut) at
> >
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ed
> e
> > 4f189ec7e1c8
> >
> > This is still work in progress branch. Right now I am facing Lttng 
> > issues,
> > LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate 
> > registration of tracepoint probes having the same name is not allowed.
> >
> > Might be an issue with libcommon inclusion. Trying resolving the 
> > issue now. Seems I need to make libcommon also as a shared object to 
> > avoid the duplicates, static linking is a problem here.
> > Any suggestions or comments on this problem?
> >
> >
> > I have commented out test binary (ceph_test_keyvaluedb_atomicity) 
> > compilation, due to unresolved symbols for g_ceph_context and g_conf.
> > Not able to fix/workaround the problem so far.
> >
> > Can you please review if this is what in your mind for the factory 
> > implementation?
> >
> > We can extend this implementation to messenger and different backend 
> > of the OSD. Will make those incremental once the base framework is 
> > approved.
> >
> > Thanks,
> > Varada
> >
> >
> >
> > -----Original Message-----
> > From: Sage Weil [mailto:sage@newdream.net]
> > Sent: Tuesday, May 12, 2015 5:11 AM
> > To: Varada Kari
> > Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> > Subject: RE: loadable objectstore
> >
> > Hi Varada,
> >
> > Any progress on this?
> >
> > Thanks!
> > sage
> >
> > On Sat, 11 Apr 2015, Varada Kari wrote:
> >
> > > Thanks Sage and Loic. Will add the missing pieces and integrate 
> > > the
> > object factory and plugin changes.
> > >
> > > Varada
> > >
> > > -----Original Message-----
> > > From: Sage Weil [mailto:sage@newdream.net]
> > > Sent: Saturday, April 11, 2015 9:19 PM
> > > To: Loic Dachary
> > > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > > Subject: Re: loadable objectstore
> > >
> > > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > > Hi Sage,
> > > >
> > > > It looks like common/PluginRegistry.{h,cc} are missing from 
> > > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> > >
> > > whoops pushed! :)
> > >
> > > sage
> > >
> > > >
> > > > Cheers
> > > >
> > > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > > >> Hi Matt/ Sage,
> > > > >>
> > > > >> Thanks for sharing the pull request. Will work on the items
> > what
> > > > >> sage was mentioning in the comments along with the items in 
> > > > >> the
> > tracker.
> > > > >
> > > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > > does this make sense?  It's only compile tested, and still
> > needs
> > > > > preload() methods implemented so that long-running daemons (or 
> > > > > perhaps others?) can preload it all at once.
> > > > >
> > > > > Ideally we would replace ErasurePluginRegistry with this too, 
> > > > > which means the naming of the .so's needs to be a bit more 
> > > > > flexible as the EC plugin scheme is something like 
> > > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict 
> > > > > function
> >
> > > > > of type and name).  Or actually, we can just rename the EC 
> > > > > .so's
> >
> > > > > when this goes in?  Since they're explicitly incompatible
> > between
> > > > > versions there is no reason the names need to remain
> > consistent...
> > > > >
> > > > > sage
> > > > >
> > > > >>
> > > > >> Varada
> > > > >>
> > > > >> -----Original Message-----
> > > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > > >> To: Matt W. Benjamin
> > > > >> Cc: Varada Kari; ceph-devel
> > > > >> Subject: Re: loadable objectstore
> > > > >>
> > > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > > >>> Hi Varada,
> > > > >>>
> > > > >>> I pushed branch hammer-osfactory to 
> > > > >>> https://github.com/linuxbox2/ceph.git
> > > > >>>
> > > > >>> It can at least provide a starting point for discussion, if
> > not
> > > > >>> a jumping off point;  I do think it's basically what Sage
> > described.
> > > > >>
> > > > >> I made a few comments on the pull request.  I think a factory
> > class is the way to go, but we should be able to make the plugin 
> > loading part generic and not interface specific at all...
> > > > >>
> > > > >> sage
> > > > >>
> > > > >>>
> > > > >>> I was able to update the CMake build system to build the 
> > > > >>> tree,
> > I
> > > > >>> haven't attempted Autotools. :(
> > > > >>>
> > > > >>> Regards,
> > > > >>>
> > > > >>> Matt
> > > > >>>
> > > > >>> --
> > > > >>> Matt Benjamin
> > > > >>> CohortFS, LLC.
> > > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > > > >>>
> > > > >>> http://cohortfs.com
> > > > >>>
> > > > >>> tel.  734-761-4689
> > > > >>> fax.  734-769-8938
> > > > >>> cel.  734-216-5309
> > > > >>> --
> > > > >>> To unsubscribe from this list: send the line "unsubscribe
> > ceph-devel"
> > > > >>> in the body of a message to majordomo@vger.kernel.org More 
> > > > >>> majordomo info at  
> > > > >>> http://vger.kernel.org/majordomo-info.html
> > > > >>>
> > > > >>>
> > > > >>
> > > > >> ________________________________
> > > > >>
> > > > >> PLEASE NOTE: The information contained in this electronic 
> > > > >> mail
> > message is intended only for the use of the designated recipient(s) 
> > named above. If the reader of this message is not the intended 
> > recipient, you are hereby notified that you have received this 
> > message in error and that any review, dissemination, distribution, 
> > or copying of this message is strictly prohibited. If you have 
> > received this communication in error, please notify the sender by 
> > telephone or e-mail (as shown above) immediately and destroy any and 
> > all copies of this message in your possession (whether hard copies 
> > or electronically stored copies).
> > > > >>
> > > > >> --
> > > > >> To unsubscribe from this list: send the line "unsubscribe 
> > > > >> ceph-devel" in the body of a message to
> > majordomo@vger.kernel.org
> > > > >> More majordomo info at
> > > > >> http://vger.kernel.org/majordomo-info.html
> > > > >>
> > > > >>
> > > > > --
> > > > > To unsubscribe from this list: send the line "unsubscribe 
> > > > > ceph-devel" in the body of a message to
> > majordomo@vger.kernel.org
> > > > > More majordomo info at
> > http://vger.kernel.org/majordomo-info.html
> > > > >
> > > >
> > > > --
> > > > Loïc Dachary, Artisan Logiciel Libre
> > > >
> > > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe
> > ceph-devel"
> > > in the body of a message to majordomo@vger.kernel.org More
> majordomo
> >
> > > info at  http://vger.kernel.org/majordomo-info.html
> > >
> > >
>
> --
> Matt Benjamin
> CohortFS, LLC.
> 315 West Huron Street, Suite 140A
> Ann Arbor, Michigan 48103
>
> http://cohortfs.com
>
> tel.  734-761-4689
> fax.  734-769-8938
> cel.  734-216-5309
>
> ________________________________
>
> PLEASE NOTE: The information contained in this electronic mail message 
> is intended only for the use of the designated recipient(s) named 
> above. If the reader of this message is not the intended recipient, 
> you are hereby notified that you have received this message in error 
> and that any review, dissemination, distribution, or copying of this 
> message is strictly prohibited. If you have received this 
> communication in error, please notify the sender by telephone or 
> e-mail (as shown above) immediately and destroy any and all copies of 
> this message in your possession (whether hard copies or electronically stored copies).
>
> N     r  y   b X  ǧv ^ )޺{.n +   z ]z
> N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w       j:+v   w j m         zZ+
> ݢj"  ! i
> \x13  칻\x1c & ~ & \x18  +-  ݶ\x17  w  ˛   m \x1e \x17^  b  ^n r   z \x1a  h    &  \x1e G   h \x03( 階 ݢj"  \x1a ^[m     z
> ޖ   f   h   ~ m
> \x04 {.n +       +%  lzwm  b 맲  r  yǩ ׯzX  \x17  ܨ}   Ơz &j:+v        zZ+  +zf   h   ~    i   z \x1e w
> ?    & )ߢ^[f

________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).


^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-09-29 16:38               ` James (Fei) Liu-SSI
@ 2015-09-29 17:14                 ` Varada Kari
  2015-09-29 17:32                   ` James (Fei) Liu-SSI
  0 siblings, 1 reply; 30+ messages in thread
From: Varada Kari @ 2015-09-29 17:14 UTC (permalink / raw
  To: James (Fei) Liu-SSI, Sage Weil, Matt W. Benjamin, Loic Dachary; +Cc: ceph-devel

Hi James,

Symbol is present in bss. This is what I find

$ nm libceph_filestore.so | grep tracepoint_dlopen
000000000047f8c0 b tracepoint_dlopen


Please note you have to comment the following line to check all the symbols on the so.

diff --git a/src/os/filestore/Makefile.am b/src/os/filestore/Makefile.am
index de8ec07..77dbc4d 100644
--- a/src/os/filestore/Makefile.am
+++ b/src/os/filestore/Makefile.am
@@ -71,7 +71,7 @@ endif

 libceph_filestore_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0
 if LINUX
-libceph_filestore_la_LDFLAGS += -export-symbols-regex '.*__ceph_plugin_.*'
+#libceph_filestore_la_LDFLAGS += -export-symbols-regex '.*__ceph_plugin_.*'
 endif

 lib_LTLIBRARIES += libceph_filestore.la

Thanks,
Varada

> -----Original Message-----
> From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> Sent: Tuesday, September 29, 2015 10:08 PM
> To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil
> <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic
> Dachary <loic@dachary.org>
> Cc: ceph-devel <ceph-devel@vger.kernel.org>
> Subject: RE: loadable objectstore
>
> Hi Varada,
>   Can you use command nm to see whether " tracepoint_dlopen" is defined
> in "./.libs/libceph_filestore.so"?
>
>
>  Regards,
>  James
>
>
> -----Original Message-----
> From: Varada Kari [mailto:Varada.Kari@sandisk.com]
> Sent: Monday, September 28, 2015 6:21 PM
> To: James (Fei) Liu-SSI; Sage Weil; Matt W. Benjamin; Loic Dachary
> Cc: ceph-devel
> Subject: RE: loadable objectstore
>
> No James, Facing library issues with libnss3 and libcommon(ceph). Will
> resolve them, generate a new pull request soon on master.
>
> Thanks,
> Varada
>
> > -----Original Message-----
> > From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> > Sent: Monday, September 28, 2015 11:51 PM
> > To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil
> > <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic
> > Dachary <loic@dachary.org>
> > Cc: ceph-devel <ceph-devel@vger.kernel.org>
> > Subject: RE: loadable objectstore
> >
> > Hi Varada,
> >   Have you rebased the pull request to master already?
> >
> >   Thanks,
> >   James
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Friday, September 11, 2015 3:28 AM
> > To: Sage Weil; Matt W. Benjamin; Loic Dachary
> > Cc: ceph-devel
> > Subject: RE: loadable objectstore
> >
> > Hi Sage/ Matt,
> >
> > I have submitted the pull request based on wip-plugin branch for the
> > object store factory implementation at
> https://github.com/ceph/ceph/pull/5884 .
> > Haven't rebased to the master yet. Working on rebase and including new
> > store in the factory implementation.  Please have a look and let me
> > know your comments. Will submit a rebased PR soon with new store
> integration.
> >
> > Thanks,
> > Varada
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Friday, July 03, 2015 7:31 PM
> > To: Sage Weil <sage@newdream.net>; Adam Crume
> <adamcrume@gmail.com>
> > Cc: Loic Dachary <loic@dachary.org>; ceph-devel <ceph-
> > devel@vger.kernel.org>; Matt W. Benjamin <matt@cohortfs.com>
> > Subject: RE: loadable objectstore
> >
> > Hi All,
> >
> > Not able to make much progress after making common as a shared object
> > along with object store.
> > Compilation of the test binaries are failing with "./.libs/libceph_filestore.so:
> > undefined reference to `tracepoint_dlopen'".
> >
> >   CXXLD    ceph_streamtest
> > ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> > collect2: error: ld returned 1 exit status
> > make[3]: *** [ceph_streamtest] Error 1
> >
> > But libfilestore.so is linked with lttng-ust.
> >
> > src/.libs$ ldd libceph_filestore.so
> >         libceph_keyvaluestore.so.1 => /home/varada/obs-factory/plugin-
> > work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
> >         libceph_os.so.1 => /home/varada/obs-factory/plugin-
> > work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
> >         libcommon.so.1 => /home/varada/ obs-factory/plugin-
> > work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
> >         liblttng-ust.so.0 =>
> > /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0
> > (0x00007f5e4b179000)
> >         liblttng-ust-tracepoint.so.0 =>
> > /usr/lib/x86_64-linux-gnu/liblttng-ust-
> > tracepoint.so.0 (0x00007f5e4a021000)
> >         liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
> >         liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1
> > (0x00007f5e49c12000)
> >
> > Edited the above output just show the dependencies.
> > Did anyone face this issue before?
> > Any help would be much appreciated.
> >
> > Thanks,
> > Varada
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Friday, June 26, 2015 3:34 PM
> > To: Sage Weil
> > Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
> > Subject: RE: loadable objectstore
> >
> > Hi,
> >
> > Made some more changes to resolve lttng problems at
> > https://github.com/varadakari/ceph/commits/wip-plugin.
> > But couldn’t by pass the issues. Facing some issues like mentioned below.
> >
> > ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> >
> > Compiling with -llttng-ust is not resolving the problem. Seen some
> > threads in devel list before, mentioning this problem.
> > Can anyone take a look and guide me to fix this problem?
> >
> > Haven't made the changes to change the plugin name etc... will be
> > making them as part of cleanup.
> >
> > Thanks,
> > Varada
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Monday, June 22, 2015 8:57 PM
> > To: Matt W. Benjamin
> > Cc: Loic Dachary; ceph-devel; Sage Weil
> > Subject: RE: loadable objectstore
> >
> > Hi Matt,
> >
> > Majority of the changes are segregating the files to corresponding
> > shared object and creating a factory object. And the naming is mostly
> > taken from Erasure-coding plugins. Want a good naming convention :-),
> > hence a preliminary review. Do agree, we have lot of loadable
> > interfaces, and I think we are in the way of making them on-demand (if
> > possible) loadable modules.
> >
> > Varada
> >
> > -----Original Message-----
> > From: Matt W. Benjamin [mailto:matt@cohortfs.com]
> > Sent: Monday, June 22, 2015 8:37 PM
> > To: Varada Kari
> > Cc: Loic Dachary; ceph-devel; Sage Weil
> > Subject: Re: loadable objectstore
> >
> > Hi,
> >
> > It's just aesthetic, but it feels clunky to change the names of well
> > known modules to <something>Plugin--esp. if that generalizes forward
> > to new loadable modules (and we have a lot of loadable interfaces).
> >
> > Matt
> >
> > ----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:
> >
> > > Hi Sage,
> > >
> > > Please find the initial implementation of objects store factory
> > > (initial cut) at
> > >
> >
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ed
> > e
> > > 4f189ec7e1c8
> > >
> > > This is still work in progress branch. Right now I am facing Lttng
> > > issues,
> > > LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate
> > > registration of tracepoint probes having the same name is not allowed.
> > >
> > > Might be an issue with libcommon inclusion. Trying resolving the
> > > issue now. Seems I need to make libcommon also as a shared object to
> > > avoid the duplicates, static linking is a problem here.
> > > Any suggestions or comments on this problem?
> > >
> > >
> > > I have commented out test binary (ceph_test_keyvaluedb_atomicity)
> > > compilation, due to unresolved symbols for g_ceph_context and g_conf.
> > > Not able to fix/workaround the problem so far.
> > >
> > > Can you please review if this is what in your mind for the factory
> > > implementation?
> > >
> > > We can extend this implementation to messenger and different backend
> > > of the OSD. Will make those incremental once the base framework is
> > > approved.
> > >
> > > Thanks,
> > > Varada
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Sage Weil [mailto:sage@newdream.net]
> > > Sent: Tuesday, May 12, 2015 5:11 AM
> > > To: Varada Kari
> > > Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> > > Subject: RE: loadable objectstore
> > >
> > > Hi Varada,
> > >
> > > Any progress on this?
> > >
> > > Thanks!
> > > sage
> > >
> > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > >
> > > > Thanks Sage and Loic. Will add the missing pieces and integrate
> > > > the
> > > object factory and plugin changes.
> > > >
> > > > Varada
> > > >
> > > > -----Original Message-----
> > > > From: Sage Weil [mailto:sage@newdream.net]
> > > > Sent: Saturday, April 11, 2015 9:19 PM
> > > > To: Loic Dachary
> > > > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > > > Subject: Re: loadable objectstore
> > > >
> > > > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > > > Hi Sage,
> > > > >
> > > > > It looks like common/PluginRegistry.{h,cc} are missing from
> > > > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> > > >
> > > > whoops pushed! :)
> > > >
> > > > sage
> > > >
> > > > >
> > > > > Cheers
> > > > >
> > > > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > > > >> Hi Matt/ Sage,
> > > > > >>
> > > > > >> Thanks for sharing the pull request. Will work on the items
> > > what
> > > > > >> sage was mentioning in the comments along with the items in
> > > > > >> the
> > > tracker.
> > > > > >
> > > > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > > > does this make sense?  It's only compile tested, and still
> > > needs
> > > > > > preload() methods implemented so that long-running daemons (or
> > > > > > perhaps others?) can preload it all at once.
> > > > > >
> > > > > > Ideally we would replace ErasurePluginRegistry with this too,
> > > > > > which means the naming of the .so's needs to be a bit more
> > > > > > flexible as the EC plugin scheme is something like
> > > > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict
> > > > > > function
> > >
> > > > > > of type and name).  Or actually, we can just rename the EC
> > > > > > .so's
> > >
> > > > > > when this goes in?  Since they're explicitly incompatible
> > > between
> > > > > > versions there is no reason the names need to remain
> > > consistent...
> > > > > >
> > > > > > sage
> > > > > >
> > > > > >>
> > > > > >> Varada
> > > > > >>
> > > > > >> -----Original Message-----
> > > > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > > > >> To: Matt W. Benjamin
> > > > > >> Cc: Varada Kari; ceph-devel
> > > > > >> Subject: Re: loadable objectstore
> > > > > >>
> > > > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > > > >>> Hi Varada,
> > > > > >>>
> > > > > >>> I pushed branch hammer-osfactory to
> > > > > >>> https://github.com/linuxbox2/ceph.git
> > > > > >>>
> > > > > >>> It can at least provide a starting point for discussion, if
> > > not
> > > > > >>> a jumping off point;  I do think it's basically what Sage
> > > described.
> > > > > >>
> > > > > >> I made a few comments on the pull request.  I think a factory
> > > class is the way to go, but we should be able to make the plugin
> > > loading part generic and not interface specific at all...
> > > > > >>
> > > > > >> sage
> > > > > >>
> > > > > >>>
> > > > > >>> I was able to update the CMake build system to build the
> > > > > >>> tree,
> > > I
> > > > > >>> haven't attempted Autotools. :(
> > > > > >>>
> > > > > >>> Regards,
> > > > > >>>
> > > > > >>> Matt
> > > > > >>>
> > > > > >>> --
> > > > > >>> Matt Benjamin
> > > > > >>> CohortFS, LLC.
> > > > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> > > > > >>>
> > > > > >>> http://cohortfs.com
> > > > > >>>
> > > > > >>> tel.  734-761-4689
> > > > > >>> fax.  734-769-8938
> > > > > >>> cel.  734-216-5309
> > > > > >>> --
> > > > > >>> To unsubscribe from this list: send the line "unsubscribe
> > > ceph-devel"
> > > > > >>> in the body of a message to majordomo@vger.kernel.org More
> > > > > >>> majordomo info at http://vger.kernel.org/majordomo-info.html
> > > > > >>>
> > > > > >>>
> > > > > >>
> > > > > >> ________________________________
> > > > > >>
> > > > > >> PLEASE NOTE: The information contained in this electronic
> > > > > >> mail
> > > message is intended only for the use of the designated recipient(s)
> > > named above. If the reader of this message is not the intended
> > > recipient, you are hereby notified that you have received this
> > > message in error and that any review, dissemination, distribution,
> > > or copying of this message is strictly prohibited. If you have
> > > received this communication in error, please notify the sender by
> > > telephone or e-mail (as shown above) immediately and destroy any and
> > > all copies of this message in your possession (whether hard copies
> > > or electronically stored copies).
> > > > > >>
> > > > > >> --
> > > > > >> To unsubscribe from this list: send the line "unsubscribe
> > > > > >> ceph-devel" in the body of a message to
> > > majordomo@vger.kernel.org
> > > > > >> More majordomo info at
> > > > > >> http://vger.kernel.org/majordomo-info.html
> > > > > >>
> > > > > >>
> > > > > > --
> > > > > > To unsubscribe from this list: send the line "unsubscribe
> > > > > > ceph-devel" in the body of a message to
> > > majordomo@vger.kernel.org
> > > > > > More majordomo info at
> > > http://vger.kernel.org/majordomo-info.html
> > > > > >
> > > > >
> > > > > --
> > > > > Loïc Dachary, Artisan Logiciel Libre
> > > > >
> > > > >
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe
> > > ceph-devel"
> > > > in the body of a message to majordomo@vger.kernel.org More
> > majordomo
> > >
> > > > info at  http://vger.kernel.org/majordomo-info.html
> > > >
> > > >
> >
> > --
> > Matt Benjamin
> > CohortFS, LLC.
> > 315 West Huron Street, Suite 140A
> > Ann Arbor, Michigan 48103
> >
> > http://cohortfs.com
> >
> > tel.  734-761-4689
> > fax.  734-769-8938
> > cel.  734-216-5309
> >
> > ________________________________
> >
> > PLEASE NOTE: The information contained in this electronic mail message
> > is intended only for the use of the designated recipient(s) named
> > above. If the reader of this message is not the intended recipient,
> > you are hereby notified that you have received this message in error
> > and that any review, dissemination, distribution, or copying of this
> > message is strictly prohibited. If you have received this
> > communication in error, please notify the sender by telephone or
> > e-mail (as shown above) immediately and destroy any and all copies of
> > this message in your possession (whether hard copies or electronically
> stored copies).
> >
> > N     r  y   b X  ǧv ^ )޺{.n +   z ]z
> > N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w       j:+v   w j m         zZ+
> > ݢj"  ! i
> > \x13  칻\x1c & ~ & \x18  +-  ݶ\x17  w  ˛   m \x1e \x17^  b  ^n r   z \x1a  h    &  \x1e G   h \x03( 階 ݢj"  \x1a ^[m
> z
> > ޖ   f   h   ~ m
> > \x04 {.n +       +%  lzwm  b 맲  r  yǩ ׯzX  \x17  ܨ}   Ơz &j:+v        zZ+  +zf   h   ~    i   z \x1e w
> > ?    & )ߢ^[f
>
> ________________________________
>
> PLEASE NOTE: The information contained in this electronic mail message is
> intended only for the use of the designated recipient(s) named above. If the
> reader of this message is not the intended recipient, you are hereby notified
> that you have received this message in error and that any review,
> dissemination, distribution, or copying of this message is strictly prohibited. If
> you have received this communication in error, please notify the sender by
> telephone or e-mail (as shown above) immediately and destroy any and all
> copies of this message in your possession (whether hard copies or
> electronically stored copies).


________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-09-29 17:14                 ` Varada Kari
@ 2015-09-29 17:32                   ` James (Fei) Liu-SSI
  2015-09-29 17:37                     ` Varada Kari
  0 siblings, 1 reply; 30+ messages in thread
From: James (Fei) Liu-SSI @ 2015-09-29 17:32 UTC (permalink / raw
  To: Varada Kari, Sage Weil, Matt W. Benjamin, Loic Dachary; +Cc: ceph-devel

Hi Varada,
  I tried to reproduce the error you faced over her and compiled your wip-plugin branch from  https://github.com/varadakari/ceph/ and always have two errors with autotools:
  1.  There is no ceph_ver.h file under ./src directory. I manually generated one and work around the error.
  2. gmock error even though I tried to run ./autogen many times. 

make[3]: *** No rule to make target `../src/gmock/lib/libgmock_main.la', needed by `unittest_librbd'.  Stop.
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/home/jamesliu/WorkSpace/ceph_varada/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/jamesliu/WorkSpace/ceph_varada/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/jamesliu/WorkSpace/ceph_varada/src'
make: *** [all-recursive] Error 1
 
By the way, CMake won't work either in your repo.

thanks,
James

-----Original Message-----
From: Varada Kari [mailto:Varada.Kari@sandisk.com] 
Sent: Tuesday, September 29, 2015 10:14 AM
To: James (Fei) Liu-SSI; Sage Weil; Matt W. Benjamin; Loic Dachary
Cc: ceph-devel
Subject: RE: loadable objectstore

Hi James,

Symbol is present in bss. This is what I find

$ nm libceph_filestore.so | grep tracepoint_dlopen
000000000047f8c0 b tracepoint_dlopen


Please note you have to comment the following line to check all the symbols on the so.

diff --git a/src/os/filestore/Makefile.am b/src/os/filestore/Makefile.am index de8ec07..77dbc4d 100644
--- a/src/os/filestore/Makefile.am
+++ b/src/os/filestore/Makefile.am
@@ -71,7 +71,7 @@ endif

 libceph_filestore_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0  if LINUX -libceph_filestore_la_LDFLAGS += -export-symbols-regex '.*__ceph_plugin_.*'
+#libceph_filestore_la_LDFLAGS += -export-symbols-regex '.*__ceph_plugin_.*'
 endif

 lib_LTLIBRARIES += libceph_filestore.la

Thanks,
Varada

> -----Original Message-----
> From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> Sent: Tuesday, September 29, 2015 10:08 PM
> To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil 
> <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic 
> Dachary <loic@dachary.org>
> Cc: ceph-devel <ceph-devel@vger.kernel.org>
> Subject: RE: loadable objectstore
>
> Hi Varada,
>   Can you use command nm to see whether " tracepoint_dlopen" is 
> defined in "./.libs/libceph_filestore.so"?
>
>
>  Regards,
>  James
>
>
> -----Original Message-----
> From: Varada Kari [mailto:Varada.Kari@sandisk.com]
> Sent: Monday, September 28, 2015 6:21 PM
> To: James (Fei) Liu-SSI; Sage Weil; Matt W. Benjamin; Loic Dachary
> Cc: ceph-devel
> Subject: RE: loadable objectstore
>
> No James, Facing library issues with libnss3 and libcommon(ceph). Will 
> resolve them, generate a new pull request soon on master.
>
> Thanks,
> Varada
>
> > -----Original Message-----
> > From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> > Sent: Monday, September 28, 2015 11:51 PM
> > To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil 
> > <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic 
> > Dachary <loic@dachary.org>
> > Cc: ceph-devel <ceph-devel@vger.kernel.org>
> > Subject: RE: loadable objectstore
> >
> > Hi Varada,
> >   Have you rebased the pull request to master already?
> >
> >   Thanks,
> >   James
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Friday, September 11, 2015 3:28 AM
> > To: Sage Weil; Matt W. Benjamin; Loic Dachary
> > Cc: ceph-devel
> > Subject: RE: loadable objectstore
> >
> > Hi Sage/ Matt,
> >
> > I have submitted the pull request based on wip-plugin branch for the 
> > object store factory implementation at
> https://github.com/ceph/ceph/pull/5884 .
> > Haven't rebased to the master yet. Working on rebase and including 
> > new store in the factory implementation.  Please have a look and let 
> > me know your comments. Will submit a rebased PR soon with new store
> integration.
> >
> > Thanks,
> > Varada
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Friday, July 03, 2015 7:31 PM
> > To: Sage Weil <sage@newdream.net>; Adam Crume
> <adamcrume@gmail.com>
> > Cc: Loic Dachary <loic@dachary.org>; ceph-devel <ceph- 
> > devel@vger.kernel.org>; Matt W. Benjamin <matt@cohortfs.com>
> > Subject: RE: loadable objectstore
> >
> > Hi All,
> >
> > Not able to make much progress after making common as a shared 
> > object along with object store.
> > Compilation of the test binaries are failing with "./.libs/libceph_filestore.so:
> > undefined reference to `tracepoint_dlopen'".
> >
> >   CXXLD    ceph_streamtest
> > ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> > collect2: error: ld returned 1 exit status
> > make[3]: *** [ceph_streamtest] Error 1
> >
> > But libfilestore.so is linked with lttng-ust.
> >
> > src/.libs$ ldd libceph_filestore.so
> >         libceph_keyvaluestore.so.1 => 
> > /home/varada/obs-factory/plugin-
> > work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
> >         libceph_os.so.1 => /home/varada/obs-factory/plugin-
> > work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
> >         libcommon.so.1 => /home/varada/ obs-factory/plugin-
> > work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
> >         liblttng-ust.so.0 =>
> > /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0
> > (0x00007f5e4b179000)
> >         liblttng-ust-tracepoint.so.0 =>
> > /usr/lib/x86_64-linux-gnu/liblttng-ust-
> > tracepoint.so.0 (0x00007f5e4a021000)
> >         liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
> >         liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1
> > (0x00007f5e49c12000)
> >
> > Edited the above output just show the dependencies.
> > Did anyone face this issue before?
> > Any help would be much appreciated.
> >
> > Thanks,
> > Varada
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Friday, June 26, 2015 3:34 PM
> > To: Sage Weil
> > Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
> > Subject: RE: loadable objectstore
> >
> > Hi,
> >
> > Made some more changes to resolve lttng problems at 
> > https://github.com/varadakari/ceph/commits/wip-plugin.
> > But couldn’t by pass the issues. Facing some issues like mentioned below.
> >
> > ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> >
> > Compiling with -llttng-ust is not resolving the problem. Seen some 
> > threads in devel list before, mentioning this problem.
> > Can anyone take a look and guide me to fix this problem?
> >
> > Haven't made the changes to change the plugin name etc... will be 
> > making them as part of cleanup.
> >
> > Thanks,
> > Varada
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Monday, June 22, 2015 8:57 PM
> > To: Matt W. Benjamin
> > Cc: Loic Dachary; ceph-devel; Sage Weil
> > Subject: RE: loadable objectstore
> >
> > Hi Matt,
> >
> > Majority of the changes are segregating the files to corresponding 
> > shared object and creating a factory object. And the naming is 
> > mostly taken from Erasure-coding plugins. Want a good naming 
> > convention :-), hence a preliminary review. Do agree, we have lot of 
> > loadable interfaces, and I think we are in the way of making them 
> > on-demand (if
> > possible) loadable modules.
> >
> > Varada
> >
> > -----Original Message-----
> > From: Matt W. Benjamin [mailto:matt@cohortfs.com]
> > Sent: Monday, June 22, 2015 8:37 PM
> > To: Varada Kari
> > Cc: Loic Dachary; ceph-devel; Sage Weil
> > Subject: Re: loadable objectstore
> >
> > Hi,
> >
> > It's just aesthetic, but it feels clunky to change the names of well 
> > known modules to <something>Plugin--esp. if that generalizes forward 
> > to new loadable modules (and we have a lot of loadable interfaces).
> >
> > Matt
> >
> > ----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:
> >
> > > Hi Sage,
> > >
> > > Please find the initial implementation of objects store factory 
> > > (initial cut) at
> > >
> >
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ed
> > e
> > > 4f189ec7e1c8
> > >
> > > This is still work in progress branch. Right now I am facing Lttng 
> > > issues,
> > > LTTng-UST: Error (-17) while registering tracepoint probe. 
> > > Duplicate registration of tracepoint probes having the same name is not allowed.
> > >
> > > Might be an issue with libcommon inclusion. Trying resolving the 
> > > issue now. Seems I need to make libcommon also as a shared object 
> > > to avoid the duplicates, static linking is a problem here.
> > > Any suggestions or comments on this problem?
> > >
> > >
> > > I have commented out test binary (ceph_test_keyvaluedb_atomicity) 
> > > compilation, due to unresolved symbols for g_ceph_context and g_conf.
> > > Not able to fix/workaround the problem so far.
> > >
> > > Can you please review if this is what in your mind for the factory 
> > > implementation?
> > >
> > > We can extend this implementation to messenger and different 
> > > backend of the OSD. Will make those incremental once the base 
> > > framework is approved.
> > >
> > > Thanks,
> > > Varada
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Sage Weil [mailto:sage@newdream.net]
> > > Sent: Tuesday, May 12, 2015 5:11 AM
> > > To: Varada Kari
> > > Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> > > Subject: RE: loadable objectstore
> > >
> > > Hi Varada,
> > >
> > > Any progress on this?
> > >
> > > Thanks!
> > > sage
> > >
> > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > >
> > > > Thanks Sage and Loic. Will add the missing pieces and integrate 
> > > > the
> > > object factory and plugin changes.
> > > >
> > > > Varada
> > > >
> > > > -----Original Message-----
> > > > From: Sage Weil [mailto:sage@newdream.net]
> > > > Sent: Saturday, April 11, 2015 9:19 PM
> > > > To: Loic Dachary
> > > > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > > > Subject: Re: loadable objectstore
> > > >
> > > > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > > > Hi Sage,
> > > > >
> > > > > It looks like common/PluginRegistry.{h,cc} are missing from 
> > > > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> > > >
> > > > whoops pushed! :)
> > > >
> > > > sage
> > > >
> > > > >
> > > > > Cheers
> > > > >
> > > > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > > > >> Hi Matt/ Sage,
> > > > > >>
> > > > > >> Thanks for sharing the pull request. Will work on the items
> > > what
> > > > > >> sage was mentioning in the comments along with the items in 
> > > > > >> the
> > > tracker.
> > > > > >
> > > > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > > > does this make sense?  It's only compile tested, and still
> > > needs
> > > > > > preload() methods implemented so that long-running daemons 
> > > > > > (or perhaps others?) can preload it all at once.
> > > > > >
> > > > > > Ideally we would replace ErasurePluginRegistry with this 
> > > > > > too, which means the naming of the .so's needs to be a bit 
> > > > > > more flexible as the EC plugin scheme is something like 
> > > > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict 
> > > > > > function
> > >
> > > > > > of type and name).  Or actually, we can just rename the EC 
> > > > > > .so's
> > >
> > > > > > when this goes in?  Since they're explicitly incompatible
> > > between
> > > > > > versions there is no reason the names need to remain
> > > consistent...
> > > > > >
> > > > > > sage
> > > > > >
> > > > > >>
> > > > > >> Varada
> > > > > >>
> > > > > >> -----Original Message-----
> > > > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > > > >> To: Matt W. Benjamin
> > > > > >> Cc: Varada Kari; ceph-devel
> > > > > >> Subject: Re: loadable objectstore
> > > > > >>
> > > > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > > > >>> Hi Varada,
> > > > > >>>
> > > > > >>> I pushed branch hammer-osfactory to 
> > > > > >>> https://github.com/linuxbox2/ceph.git
> > > > > >>>
> > > > > >>> It can at least provide a starting point for discussion, 
> > > > > >>> if
> > > not
> > > > > >>> a jumping off point;  I do think it's basically what Sage
> > > described.
> > > > > >>
> > > > > >> I made a few comments on the pull request.  I think a 
> > > > > >> factory
> > > class is the way to go, but we should be able to make the plugin 
> > > loading part generic and not interface specific at all...
> > > > > >>
> > > > > >> sage
> > > > > >>
> > > > > >>>
> > > > > >>> I was able to update the CMake build system to build the 
> > > > > >>> tree,
> > > I
> > > > > >>> haven't attempted Autotools. :(
> > > > > >>>
> > > > > >>> Regards,
> > > > > >>>
> > > > > >>> Matt
> > > > > >>>
> > > > > >>> --
> > > > > >>> Matt Benjamin
> > > > > >>> CohortFS, LLC.
> > > > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 
> > > > > >>> 48103
> > > > > >>>
> > > > > >>> http://cohortfs.com
> > > > > >>>
> > > > > >>> tel.  734-761-4689
> > > > > >>> fax.  734-769-8938
> > > > > >>> cel.  734-216-5309
> > > > > >>> --
> > > > > >>> To unsubscribe from this list: send the line "unsubscribe
> > > ceph-devel"
> > > > > >>> in the body of a message to majordomo@vger.kernel.org More 
> > > > > >>> majordomo info at 
> > > > > >>> http://vger.kernel.org/majordomo-info.html
> > > > > >>>
> > > > > >>>
> > > > > >>
> > > > > >> ________________________________
> > > > > >>
> > > > > >> PLEASE NOTE: The information contained in this electronic 
> > > > > >> mail
> > > message is intended only for the use of the designated 
> > > recipient(s) named above. If the reader of this message is not the 
> > > intended recipient, you are hereby notified that you have received 
> > > this message in error and that any review, dissemination, 
> > > distribution, or copying of this message is strictly prohibited. 
> > > If you have received this communication in error, please notify 
> > > the sender by telephone or e-mail (as shown above) immediately and 
> > > destroy any and all copies of this message in your possession 
> > > (whether hard copies or electronically stored copies).
> > > > > >>
> > > > > >> --
> > > > > >> To unsubscribe from this list: send the line "unsubscribe 
> > > > > >> ceph-devel" in the body of a message to
> > > majordomo@vger.kernel.org
> > > > > >> More majordomo info at
> > > > > >> http://vger.kernel.org/majordomo-info.html
> > > > > >>
> > > > > >>
> > > > > > --
> > > > > > To unsubscribe from this list: send the line "unsubscribe 
> > > > > > ceph-devel" in the body of a message to
> > > majordomo@vger.kernel.org
> > > > > > More majordomo info at
> > > http://vger.kernel.org/majordomo-info.html
> > > > > >
> > > > >
> > > > > --
> > > > > Loïc Dachary, Artisan Logiciel Libre
> > > > >
> > > > >
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe
> > > ceph-devel"
> > > > in the body of a message to majordomo@vger.kernel.org More
> > majordomo
> > >
> > > > info at  http://vger.kernel.org/majordomo-info.html
> > > >
> > > >
> >
> > --
> > Matt Benjamin
> > CohortFS, LLC.
> > 315 West Huron Street, Suite 140A
> > Ann Arbor, Michigan 48103
> >
> > http://cohortfs.com
> >
> > tel.  734-761-4689
> > fax.  734-769-8938
> > cel.  734-216-5309
> >
> > ________________________________
> >
> > PLEASE NOTE: The information contained in this electronic mail 
> > message is intended only for the use of the designated recipient(s) 
> > named above. If the reader of this message is not the intended 
> > recipient, you are hereby notified that you have received this 
> > message in error and that any review, dissemination, distribution, 
> > or copying of this message is strictly prohibited. If you have 
> > received this communication in error, please notify the sender by 
> > telephone or e-mail (as shown above) immediately and destroy any and 
> > all copies of this message in your possession (whether hard copies 
> > or electronically
> stored copies).
> >
> > N     r  y   b X  ǧv ^ )޺{.n +   z ]z
> > N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w       j:+v   w j m         zZ+
> > ݢj"  ! i
> > \x13  칻\x1c & ~ & \x18  +-  ݶ\x17  w  ˛   m \x1e \x17^  b  ^n r   z \x1a  h    &  \x1e G   h \x03( 階 ݢj"  \x1a ^[m
> z
> > ޖ   f   h   ~ m
> > \x04 {.n +       +%  lzwm  b 맲  r  yǩ ׯzX  \x17  ܨ}   Ơz &j:+v        zZ+  +zf   h   ~    i   z \x1e w
> > ?    & )ߢ^[f
>
> ________________________________
>
> PLEASE NOTE: The information contained in this electronic mail message 
> is intended only for the use of the designated recipient(s) named 
> above. If the reader of this message is not the intended recipient, 
> you are hereby notified that you have received this message in error 
> and that any review, dissemination, distribution, or copying of this 
> message is strictly prohibited. If you have received this 
> communication in error, please notify the sender by telephone or 
> e-mail (as shown above) immediately and destroy any and all copies of 
> this message in your possession (whether hard copies or electronically stored copies).


________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).


^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-09-29 17:32                   ` James (Fei) Liu-SSI
@ 2015-09-29 17:37                     ` Varada Kari
  2015-09-29 17:39                       ` James (Fei) Liu-SSI
  0 siblings, 1 reply; 30+ messages in thread
From: Varada Kari @ 2015-09-29 17:37 UTC (permalink / raw
  To: James (Fei) Liu-SSI, Sage Weil, Matt W. Benjamin, Loic Dachary; +Cc: ceph-devel

Hi James,

I am also facing the ceph_ver.h problem, will clean the branch and try to rebase that. But I am not facing the second problem you are mentioning. I have tried just now, that seems to be working fine. I use do_autogen.sh with -d 2 and -O 0. Will check with autogen.sh and fix if there is any problem.

And yes, I have not made any changes to cmake yet, once I have all the changes for automake, will make cmake changes.

Varada

> -----Original Message-----
> From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> Sent: Tuesday, September 29, 2015 11:02 PM
> To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil
> <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic
> Dachary <loic@dachary.org>
> Cc: ceph-devel <ceph-devel@vger.kernel.org>
> Subject: RE: loadable objectstore
>
> Hi Varada,
>   I tried to reproduce the error you faced over her and compiled your wip-
> plugin branch from  https://github.com/varadakari/ceph/ and always have
> two errors with autotools:
>   1.  There is no ceph_ver.h file under ./src directory. I manually generated
> one and work around the error.
>   2. gmock error even though I tried to run ./autogen many times.
>
> make[3]: *** No rule to make target `../src/gmock/lib/libgmock_main.la',
> needed by `unittest_librbd'.  Stop.
> make[3]: *** Waiting for unfinished jobs....
> make[3]: Leaving directory `/home/jamesliu/WorkSpace/ceph_varada/src'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/home/jamesliu/WorkSpace/ceph_varada/src'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/home/jamesliu/WorkSpace/ceph_varada/src'
> make: *** [all-recursive] Error 1
>
> By the way, CMake won't work either in your repo.
>
> thanks,
> James
>
> -----Original Message-----
> From: Varada Kari [mailto:Varada.Kari@sandisk.com]
> Sent: Tuesday, September 29, 2015 10:14 AM
> To: James (Fei) Liu-SSI; Sage Weil; Matt W. Benjamin; Loic Dachary
> Cc: ceph-devel
> Subject: RE: loadable objectstore
>
> Hi James,
>
> Symbol is present in bss. This is what I find
>
> $ nm libceph_filestore.so | grep tracepoint_dlopen
> 000000000047f8c0 b tracepoint_dlopen
>
>
> Please note you have to comment the following line to check all the symbols
> on the so.
>
> diff --git a/src/os/filestore/Makefile.am b/src/os/filestore/Makefile.am
> index de8ec07..77dbc4d 100644
> --- a/src/os/filestore/Makefile.am
> +++ b/src/os/filestore/Makefile.am
> @@ -71,7 +71,7 @@ endif
>
>  libceph_filestore_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0  if LINUX
> -libceph_filestore_la_LDFLAGS += -export-symbols-regex
> '.*__ceph_plugin_.*'
> +#libceph_filestore_la_LDFLAGS += -export-symbols-regex
> '.*__ceph_plugin_.*'
>  endif
>
>  lib_LTLIBRARIES += libceph_filestore.la
>
> Thanks,
> Varada
>
> > -----Original Message-----
> > From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> > Sent: Tuesday, September 29, 2015 10:08 PM
> > To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil
> > <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic
> > Dachary <loic@dachary.org>
> > Cc: ceph-devel <ceph-devel@vger.kernel.org>
> > Subject: RE: loadable objectstore
> >
> > Hi Varada,
> >   Can you use command nm to see whether " tracepoint_dlopen" is
> > defined in "./.libs/libceph_filestore.so"?
> >
> >
> >  Regards,
> >  James
> >
> >
> > -----Original Message-----
> > From: Varada Kari [mailto:Varada.Kari@sandisk.com]
> > Sent: Monday, September 28, 2015 6:21 PM
> > To: James (Fei) Liu-SSI; Sage Weil; Matt W. Benjamin; Loic Dachary
> > Cc: ceph-devel
> > Subject: RE: loadable objectstore
> >
> > No James, Facing library issues with libnss3 and libcommon(ceph). Will
> > resolve them, generate a new pull request soon on master.
> >
> > Thanks,
> > Varada
> >
> > > -----Original Message-----
> > > From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> > > Sent: Monday, September 28, 2015 11:51 PM
> > > To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil
> > > <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic
> > > Dachary <loic@dachary.org>
> > > Cc: ceph-devel <ceph-devel@vger.kernel.org>
> > > Subject: RE: loadable objectstore
> > >
> > > Hi Varada,
> > >   Have you rebased the pull request to master already?
> > >
> > >   Thanks,
> > >   James
> > >
> > > -----Original Message-----
> > > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> > > owner@vger.kernel.org] On Behalf Of Varada Kari
> > > Sent: Friday, September 11, 2015 3:28 AM
> > > To: Sage Weil; Matt W. Benjamin; Loic Dachary
> > > Cc: ceph-devel
> > > Subject: RE: loadable objectstore
> > >
> > > Hi Sage/ Matt,
> > >
> > > I have submitted the pull request based on wip-plugin branch for the
> > > object store factory implementation at
> > https://github.com/ceph/ceph/pull/5884 .
> > > Haven't rebased to the master yet. Working on rebase and including
> > > new store in the factory implementation.  Please have a look and let
> > > me know your comments. Will submit a rebased PR soon with new store
> > integration.
> > >
> > > Thanks,
> > > Varada
> > >
> > > -----Original Message-----
> > > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> > > owner@vger.kernel.org] On Behalf Of Varada Kari
> > > Sent: Friday, July 03, 2015 7:31 PM
> > > To: Sage Weil <sage@newdream.net>; Adam Crume
> > <adamcrume@gmail.com>
> > > Cc: Loic Dachary <loic@dachary.org>; ceph-devel <ceph-
> > > devel@vger.kernel.org>; Matt W. Benjamin <matt@cohortfs.com>
> > > Subject: RE: loadable objectstore
> > >
> > > Hi All,
> > >
> > > Not able to make much progress after making common as a shared
> > > object along with object store.
> > > Compilation of the test binaries are failing with
> "./.libs/libceph_filestore.so:
> > > undefined reference to `tracepoint_dlopen'".
> > >
> > >   CXXLD    ceph_streamtest
> > > ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> > > collect2: error: ld returned 1 exit status
> > > make[3]: *** [ceph_streamtest] Error 1
> > >
> > > But libfilestore.so is linked with lttng-ust.
> > >
> > > src/.libs$ ldd libceph_filestore.so
> > >         libceph_keyvaluestore.so.1 =>
> > > /home/varada/obs-factory/plugin-
> > > work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
> > >         libceph_os.so.1 => /home/varada/obs-factory/plugin-
> > > work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
> > >         libcommon.so.1 => /home/varada/ obs-factory/plugin-
> > > work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
> > >         liblttng-ust.so.0 =>
> > > /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0
> > > (0x00007f5e4b179000)
> > >         liblttng-ust-tracepoint.so.0 =>
> > > /usr/lib/x86_64-linux-gnu/liblttng-ust-
> > > tracepoint.so.0 (0x00007f5e4a021000)
> > >         liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
> > >         liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1
> > > (0x00007f5e49c12000)
> > >
> > > Edited the above output just show the dependencies.
> > > Did anyone face this issue before?
> > > Any help would be much appreciated.
> > >
> > > Thanks,
> > > Varada
> > >
> > > -----Original Message-----
> > > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> > > owner@vger.kernel.org] On Behalf Of Varada Kari
> > > Sent: Friday, June 26, 2015 3:34 PM
> > > To: Sage Weil
> > > Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
> > > Subject: RE: loadable objectstore
> > >
> > > Hi,
> > >
> > > Made some more changes to resolve lttng problems at
> > > https://github.com/varadakari/ceph/commits/wip-plugin.
> > > But couldn’t by pass the issues. Facing some issues like mentioned below.
> > >
> > > ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> > >
> > > Compiling with -llttng-ust is not resolving the problem. Seen some
> > > threads in devel list before, mentioning this problem.
> > > Can anyone take a look and guide me to fix this problem?
> > >
> > > Haven't made the changes to change the plugin name etc... will be
> > > making them as part of cleanup.
> > >
> > > Thanks,
> > > Varada
> > >
> > > -----Original Message-----
> > > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> > > owner@vger.kernel.org] On Behalf Of Varada Kari
> > > Sent: Monday, June 22, 2015 8:57 PM
> > > To: Matt W. Benjamin
> > > Cc: Loic Dachary; ceph-devel; Sage Weil
> > > Subject: RE: loadable objectstore
> > >
> > > Hi Matt,
> > >
> > > Majority of the changes are segregating the files to corresponding
> > > shared object and creating a factory object. And the naming is
> > > mostly taken from Erasure-coding plugins. Want a good naming
> > > convention :-), hence a preliminary review. Do agree, we have lot of
> > > loadable interfaces, and I think we are in the way of making them
> > > on-demand (if
> > > possible) loadable modules.
> > >
> > > Varada
> > >
> > > -----Original Message-----
> > > From: Matt W. Benjamin [mailto:matt@cohortfs.com]
> > > Sent: Monday, June 22, 2015 8:37 PM
> > > To: Varada Kari
> > > Cc: Loic Dachary; ceph-devel; Sage Weil
> > > Subject: Re: loadable objectstore
> > >
> > > Hi,
> > >
> > > It's just aesthetic, but it feels clunky to change the names of well
> > > known modules to <something>Plugin--esp. if that generalizes forward
> > > to new loadable modules (and we have a lot of loadable interfaces).
> > >
> > > Matt
> > >
> > > ----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:
> > >
> > > > Hi Sage,
> > > >
> > > > Please find the initial implementation of objects store factory
> > > > (initial cut) at
> > > >
> > >
> >
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ed
> > > e
> > > > 4f189ec7e1c8
> > > >
> > > > This is still work in progress branch. Right now I am facing Lttng
> > > > issues,
> > > > LTTng-UST: Error (-17) while registering tracepoint probe.
> > > > Duplicate registration of tracepoint probes having the same name is not
> allowed.
> > > >
> > > > Might be an issue with libcommon inclusion. Trying resolving the
> > > > issue now. Seems I need to make libcommon also as a shared object
> > > > to avoid the duplicates, static linking is a problem here.
> > > > Any suggestions or comments on this problem?
> > > >
> > > >
> > > > I have commented out test binary (ceph_test_keyvaluedb_atomicity)
> > > > compilation, due to unresolved symbols for g_ceph_context and
> g_conf.
> > > > Not able to fix/workaround the problem so far.
> > > >
> > > > Can you please review if this is what in your mind for the factory
> > > > implementation?
> > > >
> > > > We can extend this implementation to messenger and different
> > > > backend of the OSD. Will make those incremental once the base
> > > > framework is approved.
> > > >
> > > > Thanks,
> > > > Varada
> > > >
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Sage Weil [mailto:sage@newdream.net]
> > > > Sent: Tuesday, May 12, 2015 5:11 AM
> > > > To: Varada Kari
> > > > Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> > > > Subject: RE: loadable objectstore
> > > >
> > > > Hi Varada,
> > > >
> > > > Any progress on this?
> > > >
> > > > Thanks!
> > > > sage
> > > >
> > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > >
> > > > > Thanks Sage and Loic. Will add the missing pieces and integrate
> > > > > the
> > > > object factory and plugin changes.
> > > > >
> > > > > Varada
> > > > >
> > > > > -----Original Message-----
> > > > > From: Sage Weil [mailto:sage@newdream.net]
> > > > > Sent: Saturday, April 11, 2015 9:19 PM
> > > > > To: Loic Dachary
> > > > > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > > > > Subject: Re: loadable objectstore
> > > > >
> > > > > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > > > > Hi Sage,
> > > > > >
> > > > > > It looks like common/PluginRegistry.{h,cc} are missing from
> > > > > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> > > > >
> > > > > whoops pushed! :)
> > > > >
> > > > > sage
> > > > >
> > > > > >
> > > > > > Cheers
> > > > > >
> > > > > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > > > > >> Hi Matt/ Sage,
> > > > > > >>
> > > > > > >> Thanks for sharing the pull request. Will work on the items
> > > > what
> > > > > > >> sage was mentioning in the comments along with the items in
> > > > > > >> the
> > > > tracker.
> > > > > > >
> > > > > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > > > > does this make sense?  It's only compile tested, and still
> > > > needs
> > > > > > > preload() methods implemented so that long-running daemons
> > > > > > > (or perhaps others?) can preload it all at once.
> > > > > > >
> > > > > > > Ideally we would replace ErasurePluginRegistry with this
> > > > > > > too, which means the naming of the .so's needs to be a bit
> > > > > > > more flexible as the EC plugin scheme is something like
> > > > > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict
> > > > > > > function
> > > >
> > > > > > > of type and name).  Or actually, we can just rename the EC
> > > > > > > .so's
> > > >
> > > > > > > when this goes in?  Since they're explicitly incompatible
> > > > between
> > > > > > > versions there is no reason the names need to remain
> > > > consistent...
> > > > > > >
> > > > > > > sage
> > > > > > >
> > > > > > >>
> > > > > > >> Varada
> > > > > > >>
> > > > > > >> -----Original Message-----
> > > > > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > > > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > > > > >> To: Matt W. Benjamin
> > > > > > >> Cc: Varada Kari; ceph-devel
> > > > > > >> Subject: Re: loadable objectstore
> > > > > > >>
> > > > > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > > > > >>> Hi Varada,
> > > > > > >>>
> > > > > > >>> I pushed branch hammer-osfactory to
> > > > > > >>> https://github.com/linuxbox2/ceph.git
> > > > > > >>>
> > > > > > >>> It can at least provide a starting point for discussion,
> > > > > > >>> if
> > > > not
> > > > > > >>> a jumping off point;  I do think it's basically what Sage
> > > > described.
> > > > > > >>
> > > > > > >> I made a few comments on the pull request.  I think a
> > > > > > >> factory
> > > > class is the way to go, but we should be able to make the plugin
> > > > loading part generic and not interface specific at all...
> > > > > > >>
> > > > > > >> sage
> > > > > > >>
> > > > > > >>>
> > > > > > >>> I was able to update the CMake build system to build the
> > > > > > >>> tree,
> > > > I
> > > > > > >>> haven't attempted Autotools. :(
> > > > > > >>>
> > > > > > >>> Regards,
> > > > > > >>>
> > > > > > >>> Matt
> > > > > > >>>
> > > > > > >>> --
> > > > > > >>> Matt Benjamin
> > > > > > >>> CohortFS, LLC.
> > > > > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan
> > > > > > >>> 48103
> > > > > > >>>
> > > > > > >>> http://cohortfs.com
> > > > > > >>>
> > > > > > >>> tel.  734-761-4689
> > > > > > >>> fax.  734-769-8938
> > > > > > >>> cel.  734-216-5309
> > > > > > >>> --
> > > > > > >>> To unsubscribe from this list: send the line "unsubscribe
> > > > ceph-devel"
> > > > > > >>> in the body of a message to majordomo@vger.kernel.org More
> > > > > > >>> majordomo info at
> > > > > > >>> http://vger.kernel.org/majordomo-info.html
> > > > > > >>>
> > > > > > >>>
> > > > > > >>
> > > > > > >> ________________________________
> > > > > > >>
> > > > > > >> PLEASE NOTE: The information contained in this electronic
> > > > > > >> mail
> > > > message is intended only for the use of the designated
> > > > recipient(s) named above. If the reader of this message is not the
> > > > intended recipient, you are hereby notified that you have received
> > > > this message in error and that any review, dissemination,
> > > > distribution, or copying of this message is strictly prohibited.
> > > > If you have received this communication in error, please notify
> > > > the sender by telephone or e-mail (as shown above) immediately and
> > > > destroy any and all copies of this message in your possession
> > > > (whether hard copies or electronically stored copies).
> > > > > > >>
> > > > > > >> --
> > > > > > >> To unsubscribe from this list: send the line "unsubscribe
> > > > > > >> ceph-devel" in the body of a message to
> > > > majordomo@vger.kernel.org
> > > > > > >> More majordomo info at
> > > > > > >> http://vger.kernel.org/majordomo-info.html
> > > > > > >>
> > > > > > >>
> > > > > > > --
> > > > > > > To unsubscribe from this list: send the line "unsubscribe
> > > > > > > ceph-devel" in the body of a message to
> > > > majordomo@vger.kernel.org
> > > > > > > More majordomo info at
> > > > http://vger.kernel.org/majordomo-info.html
> > > > > > >
> > > > > >
> > > > > > --
> > > > > > Loïc Dachary, Artisan Logiciel Libre
> > > > > >
> > > > > >
> > > > > --
> > > > > To unsubscribe from this list: send the line "unsubscribe
> > > > ceph-devel"
> > > > > in the body of a message to majordomo@vger.kernel.org More
> > > majordomo
> > > >
> > > > > info at  http://vger.kernel.org/majordomo-info.html
> > > > >
> > > > >
> > >
> > > --
> > > Matt Benjamin
> > > CohortFS, LLC.
> > > 315 West Huron Street, Suite 140A
> > > Ann Arbor, Michigan 48103
> > >
> > > http://cohortfs.com
> > >
> > > tel.  734-761-4689
> > > fax.  734-769-8938
> > > cel.  734-216-5309
> > >
> > > ________________________________
> > >
> > > PLEASE NOTE: The information contained in this electronic mail
> > > message is intended only for the use of the designated recipient(s)
> > > named above. If the reader of this message is not the intended
> > > recipient, you are hereby notified that you have received this
> > > message in error and that any review, dissemination, distribution,
> > > or copying of this message is strictly prohibited. If you have
> > > received this communication in error, please notify the sender by
> > > telephone or e-mail (as shown above) immediately and destroy any and
> > > all copies of this message in your possession (whether hard copies
> > > or electronically
> > stored copies).
> > >
> > > N     r  y   b X  ǧv ^ )޺{.n +   z ]z
> > > N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w       j:+v   w j m         zZ+
> > > ݢj"  ! i
> > > \x13  칻\x1c & ~ & \x18  +-  ݶ\x17  w  ˛   m \x1e \x17^  b  ^n r   z \x1a  h    &  \x1e G   h \x03( 階 ݢj"  \x1a ^[m
> > z
> > > ޖ   f   h   ~ m
> > > \x04 {.n +       +%  lzwm  b 맲  r  yǩ ׯzX  \x17  ܨ}   Ơz &j:+v        zZ+  +zf   h   ~    i
> z \x1e w
> > > ?    & )ߢ^[f
> >
> > ________________________________
> >
> > PLEASE NOTE: The information contained in this electronic mail message
> > is intended only for the use of the designated recipient(s) named
> > above. If the reader of this message is not the intended recipient,
> > you are hereby notified that you have received this message in error
> > and that any review, dissemination, distribution, or copying of this
> > message is strictly prohibited. If you have received this
> > communication in error, please notify the sender by telephone or
> > e-mail (as shown above) immediately and destroy any and all copies of
> > this message in your possession (whether hard copies or electronically
> stored copies).
>
>
> ________________________________
>
> PLEASE NOTE: The information contained in this electronic mail message is
> intended only for the use of the designated recipient(s) named above. If the
> reader of this message is not the intended recipient, you are hereby notified
> that you have received this message in error and that any review,
> dissemination, distribution, or copying of this message is strictly prohibited. If
> you have received this communication in error, please notify the sender by
> telephone or e-mail (as shown above) immediately and destroy any and all
> copies of this message in your possession (whether hard copies or
> electronically stored copies).


________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).


^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: loadable objectstore
  2015-09-29 17:37                     ` Varada Kari
@ 2015-09-29 17:39                       ` James (Fei) Liu-SSI
  0 siblings, 0 replies; 30+ messages in thread
From: James (Fei) Liu-SSI @ 2015-09-29 17:39 UTC (permalink / raw
  To: Varada Kari, Sage Weil, Matt W. Benjamin, Loic Dachary; +Cc: ceph-devel

Hi Varada,
  Let me know when you complete the rebase. Then I can help you over here to reproduce and fix the issue.

  Regards,
  James

-----Original Message-----
From: Varada Kari [mailto:Varada.Kari@sandisk.com] 
Sent: Tuesday, September 29, 2015 10:38 AM
To: James (Fei) Liu-SSI; Sage Weil; Matt W. Benjamin; Loic Dachary
Cc: ceph-devel
Subject: RE: loadable objectstore

Hi James,

I am also facing the ceph_ver.h problem, will clean the branch and try to rebase that. But I am not facing the second problem you are mentioning. I have tried just now, that seems to be working fine. I use do_autogen.sh with -d 2 and -O 0. Will check with autogen.sh and fix if there is any problem.

And yes, I have not made any changes to cmake yet, once I have all the changes for automake, will make cmake changes.

Varada

> -----Original Message-----
> From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> Sent: Tuesday, September 29, 2015 11:02 PM
> To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil 
> <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic 
> Dachary <loic@dachary.org>
> Cc: ceph-devel <ceph-devel@vger.kernel.org>
> Subject: RE: loadable objectstore
>
> Hi Varada,
>   I tried to reproduce the error you faced over her and compiled your 
> wip- plugin branch from  https://github.com/varadakari/ceph/ and 
> always have two errors with autotools:
>   1.  There is no ceph_ver.h file under ./src directory. I manually 
> generated one and work around the error.
>   2. gmock error even though I tried to run ./autogen many times.
>
> make[3]: *** No rule to make target 
> `../src/gmock/lib/libgmock_main.la',
> needed by `unittest_librbd'.  Stop.
> make[3]: *** Waiting for unfinished jobs....
> make[3]: Leaving directory `/home/jamesliu/WorkSpace/ceph_varada/src'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/home/jamesliu/WorkSpace/ceph_varada/src'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/home/jamesliu/WorkSpace/ceph_varada/src'
> make: *** [all-recursive] Error 1
>
> By the way, CMake won't work either in your repo.
>
> thanks,
> James
>
> -----Original Message-----
> From: Varada Kari [mailto:Varada.Kari@sandisk.com]
> Sent: Tuesday, September 29, 2015 10:14 AM
> To: James (Fei) Liu-SSI; Sage Weil; Matt W. Benjamin; Loic Dachary
> Cc: ceph-devel
> Subject: RE: loadable objectstore
>
> Hi James,
>
> Symbol is present in bss. This is what I find
>
> $ nm libceph_filestore.so | grep tracepoint_dlopen
> 000000000047f8c0 b tracepoint_dlopen
>
>
> Please note you have to comment the following line to check all the 
> symbols on the so.
>
> diff --git a/src/os/filestore/Makefile.am 
> b/src/os/filestore/Makefile.am index de8ec07..77dbc4d 100644
> --- a/src/os/filestore/Makefile.am
> +++ b/src/os/filestore/Makefile.am
> @@ -71,7 +71,7 @@ endif
>
>  libceph_filestore_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0  if 
> LINUX -libceph_filestore_la_LDFLAGS += -export-symbols-regex 
> '.*__ceph_plugin_.*'
> +#libceph_filestore_la_LDFLAGS += -export-symbols-regex
> '.*__ceph_plugin_.*'
>  endif
>
>  lib_LTLIBRARIES += libceph_filestore.la
>
> Thanks,
> Varada
>
> > -----Original Message-----
> > From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> > Sent: Tuesday, September 29, 2015 10:08 PM
> > To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil 
> > <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic 
> > Dachary <loic@dachary.org>
> > Cc: ceph-devel <ceph-devel@vger.kernel.org>
> > Subject: RE: loadable objectstore
> >
> > Hi Varada,
> >   Can you use command nm to see whether " tracepoint_dlopen" is 
> > defined in "./.libs/libceph_filestore.so"?
> >
> >
> >  Regards,
> >  James
> >
> >
> > -----Original Message-----
> > From: Varada Kari [mailto:Varada.Kari@sandisk.com]
> > Sent: Monday, September 28, 2015 6:21 PM
> > To: James (Fei) Liu-SSI; Sage Weil; Matt W. Benjamin; Loic Dachary
> > Cc: ceph-devel
> > Subject: RE: loadable objectstore
> >
> > No James, Facing library issues with libnss3 and libcommon(ceph). 
> > Will resolve them, generate a new pull request soon on master.
> >
> > Thanks,
> > Varada
> >
> > > -----Original Message-----
> > > From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> > > Sent: Monday, September 28, 2015 11:51 PM
> > > To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil 
> > > <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic 
> > > Dachary <loic@dachary.org>
> > > Cc: ceph-devel <ceph-devel@vger.kernel.org>
> > > Subject: RE: loadable objectstore
> > >
> > > Hi Varada,
> > >   Have you rebased the pull request to master already?
> > >
> > >   Thanks,
> > >   James
> > >
> > > -----Original Message-----
> > > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> > > owner@vger.kernel.org] On Behalf Of Varada Kari
> > > Sent: Friday, September 11, 2015 3:28 AM
> > > To: Sage Weil; Matt W. Benjamin; Loic Dachary
> > > Cc: ceph-devel
> > > Subject: RE: loadable objectstore
> > >
> > > Hi Sage/ Matt,
> > >
> > > I have submitted the pull request based on wip-plugin branch for 
> > > the object store factory implementation at
> > https://github.com/ceph/ceph/pull/5884 .
> > > Haven't rebased to the master yet. Working on rebase and including 
> > > new store in the factory implementation.  Please have a look and 
> > > let me know your comments. Will submit a rebased PR soon with new 
> > > store
> > integration.
> > >
> > > Thanks,
> > > Varada
> > >
> > > -----Original Message-----
> > > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> > > owner@vger.kernel.org] On Behalf Of Varada Kari
> > > Sent: Friday, July 03, 2015 7:31 PM
> > > To: Sage Weil <sage@newdream.net>; Adam Crume
> > <adamcrume@gmail.com>
> > > Cc: Loic Dachary <loic@dachary.org>; ceph-devel <ceph- 
> > > devel@vger.kernel.org>; Matt W. Benjamin <matt@cohortfs.com>
> > > Subject: RE: loadable objectstore
> > >
> > > Hi All,
> > >
> > > Not able to make much progress after making common as a shared 
> > > object along with object store.
> > > Compilation of the test binaries are failing with
> "./.libs/libceph_filestore.so:
> > > undefined reference to `tracepoint_dlopen'".
> > >
> > >   CXXLD    ceph_streamtest
> > > ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> > > collect2: error: ld returned 1 exit status
> > > make[3]: *** [ceph_streamtest] Error 1
> > >
> > > But libfilestore.so is linked with lttng-ust.
> > >
> > > src/.libs$ ldd libceph_filestore.so
> > >         libceph_keyvaluestore.so.1 =>
> > > /home/varada/obs-factory/plugin-
> > > work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
> > >         libceph_os.so.1 => /home/varada/obs-factory/plugin-
> > > work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
> > >         libcommon.so.1 => /home/varada/ obs-factory/plugin-
> > > work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
> > >         liblttng-ust.so.0 =>
> > > /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0
> > > (0x00007f5e4b179000)
> > >         liblttng-ust-tracepoint.so.0 =>
> > > /usr/lib/x86_64-linux-gnu/liblttng-ust-
> > > tracepoint.so.0 (0x00007f5e4a021000)
> > >         liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
> > >         liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1
> > > (0x00007f5e49c12000)
> > >
> > > Edited the above output just show the dependencies.
> > > Did anyone face this issue before?
> > > Any help would be much appreciated.
> > >
> > > Thanks,
> > > Varada
> > >
> > > -----Original Message-----
> > > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> > > owner@vger.kernel.org] On Behalf Of Varada Kari
> > > Sent: Friday, June 26, 2015 3:34 PM
> > > To: Sage Weil
> > > Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
> > > Subject: RE: loadable objectstore
> > >
> > > Hi,
> > >
> > > Made some more changes to resolve lttng problems at 
> > > https://github.com/varadakari/ceph/commits/wip-plugin.
> > > But couldn’t by pass the issues. Facing some issues like mentioned below.
> > >
> > > ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> > >
> > > Compiling with -llttng-ust is not resolving the problem. Seen some 
> > > threads in devel list before, mentioning this problem.
> > > Can anyone take a look and guide me to fix this problem?
> > >
> > > Haven't made the changes to change the plugin name etc... will be 
> > > making them as part of cleanup.
> > >
> > > Thanks,
> > > Varada
> > >
> > > -----Original Message-----
> > > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> > > owner@vger.kernel.org] On Behalf Of Varada Kari
> > > Sent: Monday, June 22, 2015 8:57 PM
> > > To: Matt W. Benjamin
> > > Cc: Loic Dachary; ceph-devel; Sage Weil
> > > Subject: RE: loadable objectstore
> > >
> > > Hi Matt,
> > >
> > > Majority of the changes are segregating the files to corresponding 
> > > shared object and creating a factory object. And the naming is 
> > > mostly taken from Erasure-coding plugins. Want a good naming 
> > > convention :-), hence a preliminary review. Do agree, we have lot 
> > > of loadable interfaces, and I think we are in the way of making 
> > > them on-demand (if
> > > possible) loadable modules.
> > >
> > > Varada
> > >
> > > -----Original Message-----
> > > From: Matt W. Benjamin [mailto:matt@cohortfs.com]
> > > Sent: Monday, June 22, 2015 8:37 PM
> > > To: Varada Kari
> > > Cc: Loic Dachary; ceph-devel; Sage Weil
> > > Subject: Re: loadable objectstore
> > >
> > > Hi,
> > >
> > > It's just aesthetic, but it feels clunky to change the names of 
> > > well known modules to <something>Plugin--esp. if that generalizes 
> > > forward to new loadable modules (and we have a lot of loadable interfaces).
> > >
> > > Matt
> > >
> > > ----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:
> > >
> > > > Hi Sage,
> > > >
> > > > Please find the initial implementation of objects store factory 
> > > > (initial cut) at
> > > >
> > >
> >
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ed
> > > e
> > > > 4f189ec7e1c8
> > > >
> > > > This is still work in progress branch. Right now I am facing 
> > > > Lttng issues,
> > > > LTTng-UST: Error (-17) while registering tracepoint probe.
> > > > Duplicate registration of tracepoint probes having the same name 
> > > > is not
> allowed.
> > > >
> > > > Might be an issue with libcommon inclusion. Trying resolving the 
> > > > issue now. Seems I need to make libcommon also as a shared 
> > > > object to avoid the duplicates, static linking is a problem here.
> > > > Any suggestions or comments on this problem?
> > > >
> > > >
> > > > I have commented out test binary 
> > > > (ceph_test_keyvaluedb_atomicity) compilation, due to unresolved 
> > > > symbols for g_ceph_context and
> g_conf.
> > > > Not able to fix/workaround the problem so far.
> > > >
> > > > Can you please review if this is what in your mind for the 
> > > > factory implementation?
> > > >
> > > > We can extend this implementation to messenger and different 
> > > > backend of the OSD. Will make those incremental once the base 
> > > > framework is approved.
> > > >
> > > > Thanks,
> > > > Varada
> > > >
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Sage Weil [mailto:sage@newdream.net]
> > > > Sent: Tuesday, May 12, 2015 5:11 AM
> > > > To: Varada Kari
> > > > Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> > > > Subject: RE: loadable objectstore
> > > >
> > > > Hi Varada,
> > > >
> > > > Any progress on this?
> > > >
> > > > Thanks!
> > > > sage
> > > >
> > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > >
> > > > > Thanks Sage and Loic. Will add the missing pieces and 
> > > > > integrate the
> > > > object factory and plugin changes.
> > > > >
> > > > > Varada
> > > > >
> > > > > -----Original Message-----
> > > > > From: Sage Weil [mailto:sage@newdream.net]
> > > > > Sent: Saturday, April 11, 2015 9:19 PM
> > > > > To: Loic Dachary
> > > > > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > > > > Subject: Re: loadable objectstore
> > > > >
> > > > > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > > > > Hi Sage,
> > > > > >
> > > > > > It looks like common/PluginRegistry.{h,cc} are missing from 
> > > > > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> > > > >
> > > > > whoops pushed! :)
> > > > >
> > > > > sage
> > > > >
> > > > > >
> > > > > > Cheers
> > > > > >
> > > > > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > > > > >> Hi Matt/ Sage,
> > > > > > >>
> > > > > > >> Thanks for sharing the pull request. Will work on the 
> > > > > > >> items
> > > > what
> > > > > > >> sage was mentioning in the comments along with the items 
> > > > > > >> in the
> > > > tracker.
> > > > > > >
> > > > > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > > > > does this make sense?  It's only compile tested, and still
> > > > needs
> > > > > > > preload() methods implemented so that long-running daemons 
> > > > > > > (or perhaps others?) can preload it all at once.
> > > > > > >
> > > > > > > Ideally we would replace ErasurePluginRegistry with this 
> > > > > > > too, which means the naming of the .so's needs to be a bit 
> > > > > > > more flexible as the EC plugin scheme is something like 
> > > > > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict 
> > > > > > > function
> > > >
> > > > > > > of type and name).  Or actually, we can just rename the EC 
> > > > > > > .so's
> > > >
> > > > > > > when this goes in?  Since they're explicitly incompatible
> > > > between
> > > > > > > versions there is no reason the names need to remain
> > > > consistent...
> > > > > > >
> > > > > > > sage
> > > > > > >
> > > > > > >>
> > > > > > >> Varada
> > > > > > >>
> > > > > > >> -----Original Message-----
> > > > > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > > > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > > > > >> To: Matt W. Benjamin
> > > > > > >> Cc: Varada Kari; ceph-devel
> > > > > > >> Subject: Re: loadable objectstore
> > > > > > >>
> > > > > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > > > > >>> Hi Varada,
> > > > > > >>>
> > > > > > >>> I pushed branch hammer-osfactory to 
> > > > > > >>> https://github.com/linuxbox2/ceph.git
> > > > > > >>>
> > > > > > >>> It can at least provide a starting point for discussion, 
> > > > > > >>> if
> > > > not
> > > > > > >>> a jumping off point;  I do think it's basically what 
> > > > > > >>> Sage
> > > > described.
> > > > > > >>
> > > > > > >> I made a few comments on the pull request.  I think a 
> > > > > > >> factory
> > > > class is the way to go, but we should be able to make the plugin 
> > > > loading part generic and not interface specific at all...
> > > > > > >>
> > > > > > >> sage
> > > > > > >>
> > > > > > >>>
> > > > > > >>> I was able to update the CMake build system to build the 
> > > > > > >>> tree,
> > > > I
> > > > > > >>> haven't attempted Autotools. :(
> > > > > > >>>
> > > > > > >>> Regards,
> > > > > > >>>
> > > > > > >>> Matt
> > > > > > >>>
> > > > > > >>> --
> > > > > > >>> Matt Benjamin
> > > > > > >>> CohortFS, LLC.
> > > > > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan
> > > > > > >>> 48103
> > > > > > >>>
> > > > > > >>> http://cohortfs.com
> > > > > > >>>
> > > > > > >>> tel.  734-761-4689
> > > > > > >>> fax.  734-769-8938
> > > > > > >>> cel.  734-216-5309
> > > > > > >>> --
> > > > > > >>> To unsubscribe from this list: send the line 
> > > > > > >>> "unsubscribe
> > > > ceph-devel"
> > > > > > >>> in the body of a message to majordomo@vger.kernel.org 
> > > > > > >>> More majordomo info at 
> > > > > > >>> http://vger.kernel.org/majordomo-info.html
> > > > > > >>>
> > > > > > >>>
> > > > > > >>
> > > > > > >> ________________________________
> > > > > > >>
> > > > > > >> PLEASE NOTE: The information contained in this electronic 
> > > > > > >> mail
> > > > message is intended only for the use of the designated
> > > > recipient(s) named above. If the reader of this message is not 
> > > > the intended recipient, you are hereby notified that you have 
> > > > received this message in error and that any review, 
> > > > dissemination, distribution, or copying of this message is strictly prohibited.
> > > > If you have received this communication in error, please notify 
> > > > the sender by telephone or e-mail (as shown above) immediately 
> > > > and destroy any and all copies of this message in your 
> > > > possession (whether hard copies or electronically stored copies).
> > > > > > >>
> > > > > > >> --
> > > > > > >> To unsubscribe from this list: send the line "unsubscribe 
> > > > > > >> ceph-devel" in the body of a message to
> > > > majordomo@vger.kernel.org
> > > > > > >> More majordomo info at
> > > > > > >> http://vger.kernel.org/majordomo-info.html
> > > > > > >>
> > > > > > >>
> > > > > > > --
> > > > > > > To unsubscribe from this list: send the line "unsubscribe 
> > > > > > > ceph-devel" in the body of a message to
> > > > majordomo@vger.kernel.org
> > > > > > > More majordomo info at
> > > > http://vger.kernel.org/majordomo-info.html
> > > > > > >
> > > > > >
> > > > > > --
> > > > > > Loïc Dachary, Artisan Logiciel Libre
> > > > > >
> > > > > >
> > > > > --
> > > > > To unsubscribe from this list: send the line "unsubscribe
> > > > ceph-devel"
> > > > > in the body of a message to majordomo@vger.kernel.org More
> > > majordomo
> > > >
> > > > > info at  http://vger.kernel.org/majordomo-info.html
> > > > >
> > > > >
> > >
> > > --
> > > Matt Benjamin
> > > CohortFS, LLC.
> > > 315 West Huron Street, Suite 140A
> > > Ann Arbor, Michigan 48103
> > >
> > > http://cohortfs.com
> > >
> > > tel.  734-761-4689
> > > fax.  734-769-8938
> > > cel.  734-216-5309
> > >
> > > ________________________________
> > >
> > > PLEASE NOTE: The information contained in this electronic mail 
> > > message is intended only for the use of the designated 
> > > recipient(s) named above. If the reader of this message is not the 
> > > intended recipient, you are hereby notified that you have received 
> > > this message in error and that any review, dissemination, 
> > > distribution, or copying of this message is strictly prohibited. 
> > > If you have received this communication in error, please notify 
> > > the sender by telephone or e-mail (as shown above) immediately and 
> > > destroy any and all copies of this message in your possession 
> > > (whether hard copies or electronically
> > stored copies).
> > >
> > > N     r  y   b X  ǧv ^ )޺{.n +   z ]z
> > > N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w       j:+v   w j m         zZ+
> > > ݢj"  ! i
> > > \x13  칻\x1c & ~ & \x18  +-  ݶ\x17  w  ˛   m \x1e \x17^  b  ^n r   z \x1a  h    &  \x1e G   h \x03( 階 ݢj"  \x1a ^[m
> > z
> > > ޖ   f   h   ~ m
> > > \x04 {.n +       +%  lzwm  b 맲  r  yǩ ׯzX  \x17  ܨ}   Ơz &j:+v        zZ+  +zf   h   ~    i
> z \x1e w
> > > ?    & )ߢ^[f
> >
> > ________________________________
> >
> > PLEASE NOTE: The information contained in this electronic mail 
> > message is intended only for the use of the designated recipient(s) 
> > named above. If the reader of this message is not the intended 
> > recipient, you are hereby notified that you have received this 
> > message in error and that any review, dissemination, distribution, 
> > or copying of this message is strictly prohibited. If you have 
> > received this communication in error, please notify the sender by 
> > telephone or e-mail (as shown above) immediately and destroy any and 
> > all copies of this message in your possession (whether hard copies 
> > or electronically
> stored copies).
>
>
> ________________________________
>
> PLEASE NOTE: The information contained in this electronic mail message 
> is intended only for the use of the designated recipient(s) named 
> above. If the reader of this message is not the intended recipient, 
> you are hereby notified that you have received this message in error 
> and that any review, dissemination, distribution, or copying of this 
> message is strictly prohibited. If you have received this 
> communication in error, please notify the sender by telephone or 
> e-mail (as shown above) immediately and destroy any and all copies of 
> this message in your possession (whether hard copies or electronically stored copies).


________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2015-09-29 17:39 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1615100301.29.1434984131967.JavaMail.root@thunderbeast.private.linuxbox.com>
2015-06-22 15:07 ` loadable objectstore Matt W. Benjamin
2015-06-22 15:27   ` Varada Kari
2015-06-22 16:08     ` Adam C. Emerson
2015-06-26 10:03     ` Varada Kari
2015-07-03 14:00       ` Varada Kari
2015-09-11 10:28         ` Varada Kari
2015-09-11 18:43           ` James (Fei) Liu-SSI
2015-09-12  4:34             ` Varada Kari
2015-09-12 20:35               ` Allen Samuels
2015-09-13  3:53                 ` Varada Kari
2015-09-14 16:47                 ` James (Fei) Liu-SSI
2015-09-14 17:16                   ` Allen Samuels
2015-09-28 18:20           ` James (Fei) Liu-SSI
2015-09-29  1:20             ` Varada Kari
2015-09-29 16:38               ` James (Fei) Liu-SSI
2015-09-29 17:14                 ` Varada Kari
2015-09-29 17:32                   ` James (Fei) Liu-SSI
2015-09-29 17:37                     ` Varada Kari
2015-09-29 17:39                       ` James (Fei) Liu-SSI
2015-04-10 22:03 Matt W. Benjamin
2015-04-10 22:46 ` Sage Weil
2015-04-11  3:04   ` Varada Kari
2015-04-11 14:51     ` Sage Weil
2015-04-11 15:06       ` Loic Dachary
2015-04-11 15:49         ` Sage Weil
2015-04-11 16:07           ` Varada Kari
2015-05-11 23:41             ` Sage Weil
2015-05-12  1:49               ` Varada Kari
2015-06-22 11:23               ` Varada Kari
2015-04-13 16:09       ` Matt W. Benjamin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.