hi Tommi,

Thanks for your reply.
by now i just get a very abstract understand on the codes. i just
describe how the ceph work by my current understanding.
in the client/fuse_ll.cc, there defines the client interface for file
system operations.
 i.e. for write->ceph_ll_write, then it invoke client->ll_write which
may finally invoke writex(). here seems it only write to the client
buffer and mark it as dirty. and the real write to the osd happens
when invoke ObjectCacher->flush() (in fact, i did not know when will
this function be invoked, or if my understanding is correct), which
will invoke the  objecter->write_trunc(). inside this function it
invoke op_submit which actually send out the write request to the OSD.
is the above logic correct?

i see there are four messengers client, cluster, messenger_hbin,
messenger_hbout in the ceph_osd.cc. will one of the messengers
responsible to handle the receiving request from client? i do not know
how the OSD handle the received messages from client or mds.

Thanks,
Sheng

On Tue, Nov 1, 2011 at 5:07 PM, Tommi Virtanen
<[email protected]> wrote:
> On Tue, Nov 1, 2011 at 14:56, sheng qiu <[email protected]> wrote:
>> Thanks for your reply. i am sorry for bothering you frequently.
>> i see there are several daemons to handle the requests.  i.e. client
>> to osd, can you tell me what exactly source file will handle
>> write/read request from client to/from osd?
>> i am not clear with the structure of the source codes.
>
> Ignoring file metadata and the interaction with MDS, you might get
> going by reading src/osd/OSD.cc OSD::handle_op.
>



-- 
Sheng Qiu
Texas A & M University
Room 302 Wisenbaker
email: [email protected]
College Station, TX 77843-3259
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to