]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commit
ceph: MDS client
authorSage Weil <sage@newdream.net>
Tue, 19 May 2009 21:45:30 +0000 (14:45 -0700)
committerSage Weil <sage@newdream.net>
Tue, 19 May 2009 21:45:30 +0000 (14:45 -0700)
commit9acb8583dc5f49e5e0d7b04f64bf027487f1e4d5
treec16591b7a096c2c9dc55b996506d9e96d2aee2aa
parentd4291cc27bc6e7f960ee0c2f4ce50b88e3e794c8
ceph: MDS client

The MDS client is responsible for submitting requests to the MDS
cluster and parsing the response.  We decide which MDS to submit each
request to based on cached information about the current partition of
the directory hierarchy across the cluster.  A stateful session is
opened with each MDS before we submit requests to it, and a mutex is
used to control the ordering of messages within each session.

An MDS request may generate two responses.  The first indicates the
operation was a success and returns any result.  A second reply is
sent when the operation commits to the journal.  Note that locking
on the MDS ensures that the results of updates are visible only to
the updating client until the operation commits.

Requests are linked to the containing directory so that an fsync will
wait for them to commit.

If an MDS fails and/or recovers, we resubmit requests as needed.
fs/ceph/mds_client.c [new file with mode: 0644]
fs/ceph/mds_client.h [new file with mode: 0644]
fs/ceph/mdsmap.c [new file with mode: 0644]
fs/ceph/mdsmap.h [new file with mode: 0644]