]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: some osd, mds client comments
authorSage Weil <sage@newdream.net>
Mon, 20 Oct 2008 17:06:08 +0000 (10:06 -0700)
committerSage Weil <sage@newdream.net>
Mon, 20 Oct 2008 17:06:08 +0000 (10:06 -0700)
src/kernel/mds_client.h
src/kernel/osd_client.h

index 1aca03275e1ac24763aa3a5fd5c857f03cbee22a..9fbfa6f6aba705820e004dbbd34755c858aed10c 100644 (file)
 #include "messenger.h"
 #include "mdsmap.h"
 
+/*
+ * A cluster of MDS (metadata server) daemons is responsible for
+ * managing the file system namespace (the directory hierarchy and
+ * inodes) and for coordinating shared access to storage.  Metadata is
+ * partitioning hierarchically across a number of servers, and that
+ * partition varies over time as the cluster adjusts the distribution
+ * in order to balance load.
+ *
+ * The MDS client is primarily responsible to managing synchronous
+ * metadata requests for operations like open, unlink, and so forth.
+ * If there is a MDS failure, we find out about it when we (possibly
+ * request and) receive a new MDS map, and can resubmit affected
+ * requests.
+ *
+ * For the most part, though, we take advantage of a lossless
+ * communications channel to the MDS, and do not need to worry about
+ * timing out or resubmitting requests.
+ *
+ * We maintain a stateful "session" with each MDS we interact with.
+ * Within each session, we sent periodic heartbeat messages to ensure
+ * any capabilities or leases we have been issues remain valid.  If
+ * the session times out and goes stale, our leases and capabilities
+ * are no longer valid.
+ */
+
 struct ceph_client;
 struct ceph_cap;
 
index cdc50016a369497956a33807bb4b081836566bc0..201d93aef5b5c2d860914a624596f64a21f73276 100644 (file)
@@ -8,6 +8,22 @@
 #include "types.h"
 #include "osdmap.h"
 
+/*
+ * All data objects are stored within a cluster/cloud of OSDs, or
+ * "object storage devices."  (Note that Ceph OSDs have _nothing_ to
+ * do with the T10 OSD extensions to SCSI.)  Ceph OSDs are simply
+ * remote daemons serving up and coordinating consistent and safe
+ * access to storage.
+ *
+ * Cluster membership and the mapping of data objects onto storage devices
+ * are described by the osd map.
+ *
+ * We keep track of pending OSD requests (read, write), resubmit
+ * requests to different OSDs when the cluster topology/data layout
+ * change, or retry the affected requests when the communications
+ * channel with an OSD is reset.
+ */
+
 struct ceph_msg;
 struct ceph_snap_context;
 struct ceph_osd_request;