From 0f4fd68bf527ecc1ffc10fb4cba5a9acbdd89582 Mon Sep 17 00:00:00 2001 From: sageweil Date: Thu, 7 Dec 2006 19:17:37 +0000 Subject: [PATCH] onward git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@987 29311d96-e01e-0410-9327-a35deaab8ce9 --- ceph/TODO | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/ceph/TODO b/ceph/TODO index faeba31409b0d..afdf96446b375 100644 --- a/ceph/TODO +++ b/ceph/TODO @@ -1,8 +1,14 @@ +- paxos for monitor +- lnet? +- crush + - xml import/export? + - crush tools + == todo -ebofs -- verify proper behavior of conflicting/overlapping reads of clones +- integrate revisions into ObjectCacher +- clean up oid.rev vs op.rev in osd+osdc rados paper todo - better experiments @@ -17,21 +23,25 @@ rados snapshots - oid.rev=0 is "live". defined for attr.crev <= rev. - otherwise, defined for attr.crev <= rev < oid.rev (i.e. oid.rev is upper bound, non-inclusive.) -- write is tagged with op.rev - - if latest op.rev != attr.crev, - - we clone to oid.rev=rev - - clone keeps old crev. +- write|delete is tagged with op.rev + - if attr.crev < op.rev + - we clone to oid.rev=rev (clone keeps old crev) - change live attr.crev=rev. -- delete is tagged with op.rev - - rename live to oid.rev = op.rev + - apply update - read is tagged with op.rev - if 0, we read from 0 (if it exists). - otherwise we choose object rev based on op.rev vs oid.rev, and then verifying attr.crev <= op.rev. +/- how to log entries +/- actually do the clone on write +/- how do deal with missing +/- consistent read for past revs +- how to efficiently manage recovery + - include alloc diff from next and/or previous + - i.e. try to clone() if we can. + - and adjust allocation if we can't? -- messenger lookup() and failure() upcalls - - how to get usage feedback to monitor? - change messenger entity_inst_t @@ -58,12 +68,6 @@ mds recovery osd - pull out "object" service - btree service -- interject snapshot abstraction. inbetween? - - how to generalize pg log entries? - - or put snapshotting in apply_operation? - -osdc -- distributed btree thing: Blinker! mds - rewrite mdstore to use osd btree service @@ -75,7 +79,6 @@ journaler - need to truncate at detected (valid) write_pos to clear out any other partial trailing writes - monitor ?- monitor user lib that handles resending, redirection of mon requests. - elector @@ -121,9 +124,8 @@ reliability - osdmonitor, filter ebofs +- verify proper behavior of conflicting/overlapping reads of clones - test(fix) sync() -- clone() -- snapshots - combine inodes and/or cnodes into same blocks - allow btree sets instead of maps - eliminate nodepools @@ -152,6 +154,8 @@ remaining hard problems crush - more efficient failure when all/too many osds are down +- allow forcefeed for more complicated rule structures. (e.g. make force_stack a list< set >) + mds - distributed client management -- 2.39.5