On Mon, 29 Sep 2014, yuelongguang wrote: > hi, sage will1. > you mean if i use cache tiering, client's objecter can know how to connect > to osd daemon's objecter? > if i can see it? throught osdmap? > 2. > i know if rbd?use cache, it use objecter, so i thought objecter is a cache > for?IO?scatter/gather. > i do not know 'COPYFROM operation ', you mention. > ? > 3. > i search radosclient.cc, i know objecter is? a client for osd . > but for osd daemon, the code tells me? osd's objecter is a listen socket. > ceph-osd.cc : main: > ms_objecter->bind(g_conf->public_addr) > ? > OSD:OSD? :: objecter_messenger(ms_objecter) > ? > objecter_messenger->add_dispatcher_head(&service.objecter_dispatcher) , this > tells me all messages received from pipes(which is accepted by > objecter_messenger) are handled by? Objecter::dispatch. right? > ? > no code tells me? this objecter connect other osds actively. Yeah. I mean that the bind() call for ms_objecter is a mistake. It only initiates client-side connections, so it doesn't need to bind/listen. I'll fix it shortly. (It's pretty harmless, though.. just confusing.) sage > ? > maybe i?? miss something. > thanks > > > > At 2014-09-29 11:23:37, "Sage Weil" <sweil at redhat.com> wrote: > >On Mon, 29 Sep 2014, yuelongguang wrote: > >> hi,all > >> 1. > >> ? > >> and who will connect it? as for osd, this ms_objecter is listen socket. > >> it ?is not included in osdmap. so how to know?ms_objecter's ?listen addre > ss > >> and connect it. > > > >Ah, that's a mistake. It is only used to connect to other OSDs as a > >client for the COPYFROM operation and for cache tiering. > > > >sage > > > >