2009-03-05 18:22:03 +00:00
v0.6
/- fold observer into cmonctl/ceph?
/- osd scrub
/- async metadata
2008-12-15 19:34:11 +00:00
v0.7
2009-01-27 22:42:31 +00:00
/- smart osd sync
/- osd bug fixes
2009-01-30 23:00:53 +00:00
/- fast truncate
2009-02-25 00:51:09 +00:00
/- updated debian package
2009-03-04 00:35:49 +00:00
/- improved start/stop scripts
2009-03-23 22:22:59 +00:00
/- proc -> sysfs cleanup
2008-11-06 18:56:51 +00:00
2009-03-16 18:04:13 +00:00
v0.7.1
2009-03-13 21:25:21 +00:00
/- O_DIRECT
2009-03-18 17:57:31 +00:00
/- dentry lease renewal
2009-03-16 18:04:13 +00:00
2009-03-23 22:22:59 +00:00
v0.7.2
2009-03-16 22:30:36 +00:00
/- make kclient handle osd ack + sync properly
/- make fill_trace handle short traces; return short traces from mds
2009-03-18 17:57:31 +00:00
/- rdcap renewal
2009-03-23 22:22:59 +00:00
/- some mds clustering fixes
2009-03-24 02:57:59 +00:00
/- sysfs -> debugfs
2009-03-24 20:48:49 +00:00
/- queue delayed check upon receipt of unwanted, un-EXPIREABLE caps
/- init/mkfs fixes
2009-03-25 19:19:36 +00:00
/- warn on cmon startup if monmap doesn't match .conf
/- make kclient timeouts tunable
2009-03-23 22:22:59 +00:00
v0.8
2009-04-15 20:59:09 +00:00
/- clean up path_traverse interface, esp the usages in Server.cc
2009-04-11 21:13:41 +00:00
/- piggyback lease/cap release on client_request?
2009-04-15 22:07:04 +00:00
/- store metadata format version on disk...
2009-04-20 17:22:04 +00:00
/- async xattr
2009-04-15 20:59:09 +00:00
/- dcache readdir
2009-04-15 22:07:04 +00:00
- make mds exhert memory pressure on client caps, leases
2009-04-20 17:22:04 +00:00
- confutils memory leaks
2008-06-19 03:59:50 +00:00
2009-04-28 05:34:52 +00:00
v0.9
2009-04-27 23:32:43 +00:00
- osd re-up attempt when marked down
2009-04-27 20:35:21 +00:00
- optionally separate osd interfaces (ips) for clients and osds (replication, peering, etc.)
2009-04-28 05:34:52 +00:00
later
2009-04-27 20:35:21 +00:00
- client reconnect after long eviction; and slow delayed reconnect
2008-06-16 22:52:07 +00:00
- ENOSPC
2008-10-08 17:49:12 +00:00
- space reservation in ObjectStore, redeemed by Transactions?
- reserved as PG goes active; reservation canceled when pg goes inactive
- something similar during recovery
- ?
2008-09-15 23:01:30 +00:00
- repair
2008-05-10 23:31:14 +00:00
- mds security enforcement
- client, user authentication
- cas
2008-07-25 23:23:00 +00:00
- osd failure declarations
2009-04-08 23:29:19 +00:00
- rename over old files should flush data, or revert back to old contents
2008-07-25 23:23:00 +00:00
2008-09-18 22:39:54 +00:00
repair
- are we concerned about
- scrubbing
- reconstruction after loss of subset of cdirs
- reconstruction after loss of md log
- data object
- path backpointers?
- parent dir pointer?
- cdir objects
- parent dir pointer
- update on rename? or on cdir store?
on cdir store is sufficient if mdlog survives...
- or what the hell, full trace?
- mds scrubbing
2008-07-25 23:23:00 +00:00
2008-04-18 15:10:33 +00:00
2007-11-20 18:19:11 +00:00
kernel client
2009-04-11 21:13:41 +00:00
- fix up mds selection, and ESTALE handling
2009-04-04 21:33:32 +00:00
- make cap import/export efficient
2009-04-11 21:13:41 +00:00
- simplify mds auth tracking?
- use caps instead?
2009-03-16 22:47:42 +00:00
- unwind writeback start error in addr.c (see fixme)... by redirtying pages?
2009-03-12 23:11:28 +00:00
- inotify for updates from other clients?
2009-02-18 22:13:49 +00:00
- optional or no fill_trace?
2009-01-21 18:38:06 +00:00
- flock, fnctl locks
2009-01-28 00:18:06 +00:00
- async xattrs
2009-01-08 21:38:07 +00:00
- avoid pinning inodes with expireable caps?
2008-10-16 19:13:09 +00:00
- ACLs
2008-06-23 13:45:49 +00:00
- make writepages maybe skip pages with errors?
- EIO, or ENOSPC?
- ... writeback vs ENOSPC vs flush vs close()... hrm...
2008-06-16 22:52:07 +00:00
- set mapping bits for ENOSPC, EIO?
2008-06-12 21:23:43 +00:00
- fix readdir vs fragment race by keeping a separate frag pos, and ignoring dentries below it
2008-10-01 22:17:27 +00:00
- reconnect after being disconnected from the mds
2009-03-27 21:35:24 +00:00
- should we try to ref CAP_PIN on special inodes that are open?
2007-05-25 20:10:48 +00:00
2008-06-23 13:45:49 +00:00
vfs issues
- real_lookup() race:
1- hash lookup find no dentry
2- real_lookup() takes dir i_mutex, but then finds a dentry
3- drops mutex, then calld d_revalidate. if that fails, we return ENOENT (instead of looping?)
- vfs_rename_dir()
2009-01-30 23:00:53 +00:00
- a getattr mask would be really nice
2007-05-25 20:10:48 +00:00
2008-12-12 05:13:02 +00:00
filestore
2009-03-05 18:22:03 +00:00
- make min sync interval self-tuning (ala xfs, ext3?)
2008-12-12 05:13:02 +00:00
- get file csum?
2008-12-10 00:47:40 +00:00
btrfs
- clone compressed inline extents
- ioctl to pull out data csum?
2008-09-18 22:39:54 +00:00
userspace client
- handle session STALE
- time out caps, wake up waiters on renewal
- link caps with mds session
- validate dn leases
- fix lease validation to check session ttl
- clean up ll_ interface, now that we have leases!
2008-03-20 16:41:09 +00:00
- clean up client mds session vs mdsmap behavior?
2008-09-18 22:39:54 +00:00
- stop using mds's inode_t?
- fix readdir vs fragment race by keeping a separate frag pos, and ignoring dentries below it
2007-12-19 04:54:23 +00:00
2008-06-04 18:08:06 +00:00
mds
2009-04-20 23:23:47 +00:00
- fix up *_RDCACHE vs FILE_RDCACHE semantics
- ability to read attribute value is distinct from being able to hold cached pages?
2009-03-17 17:18:51 +00:00
- file recovery maybe needs to scan entire file range for a truncation event? (and object attr maybe needs file offset, not object offset, or original truncation?)
2009-03-12 21:48:42 +00:00
- on replay, but dirty scatter replicas on lists so that they get flushed? or does rejoin handle that?
2009-03-07 00:25:04 +00:00
- take some care with replayed client requests vs new requests
2009-01-14 22:12:30 +00:00
- linkage vs cdentry replicas and remote rename....
2009-01-08 21:38:07 +00:00
- make recovery work with early replies
- purge each session's unused preallocated inodes
2008-12-10 23:31:25 +00:00
- file size recovery gives (wrong) 4MB-increment results?
2008-09-18 22:39:54 +00:00
- hard link backpointers
- anchor source dir
- build snaprealm for any hardlinked file
- include snaps for all (primary+remote) parents
2008-10-20 22:37:49 +00:00
- how do we properly clean up inodes when doing a snap purge?
- when they are mid-recover? see 136470cf7ca876febf68a2b0610fa3bb77ad3532
2008-10-01 18:53:38 +00:00
- what if a recovery is queued, or in progress, and the inode is then cowed? can that happen?
2007-09-13 03:58:22 +00:00
- proper handling of cache expire messages during rejoin phase?
2007-11-16 21:46:52 +00:00
-> i think cache expires are fine; the rejoin_ack handler just has to behave if rejoining items go missing
2008-12-17 22:06:15 +00:00
- add an up:shadow mode?
2008-12-15 23:30:50 +00:00
- tail the mds log as it is written
- periodically check head so that we trim, too
2008-07-18 21:04:26 +00:00
- rename: importing inode... also journal imported client map?
2007-11-16 21:46:52 +00:00
- rerun destro trace against latest, with various journal lengths
2009-01-12 00:56:48 +00:00
- cap/lease length heuristics
2008-03-31 17:27:12 +00:00
- mds lock last_change stamp?
2008-06-05 14:14:45 +00:00
- handle slow client reconnect (i.e. after mds has gone active)
2008-02-29 00:58:28 +00:00
- fix reconnect/rejoin open file weirdness
2008-06-04 18:08:06 +00:00
- anchor_destroy needs to xlock linklock.. which means it needs a Mutation wrapper?
- ... when it gets a caller.. someday..
2007-10-12 22:46:27 +00:00
- FIXME how to journal/store root and stray inode content?
2007-05-16 21:53:22 +00:00
- in particular, i care about dirfragtree.. get it on rejoin?
- and dir sizes, if i add that... also on rejoin?
2007-10-12 22:46:27 +00:00
- add FILE_CAP_EXTEND capability bit
2009-04-04 21:33:32 +00:00
- return extra inode(s) in reply (namely, unlink)?
2007-10-12 22:46:27 +00:00
2007-05-16 21:53:22 +00:00
2007-02-17 22:49:47 +00:00
journaler
- fix up for large events (e.g. imports)
- should we pad with zeros to avoid splitting individual entries?
- make it a g_conf flag?
- have to fix reader to skip over zeros (either <4 bytes for size, or zeroed sizes)
- need to truncate at detected (valid) write_pos to clear out any other partial trailing writes
2008-12-10 00:47:40 +00:00
mon
- paxos need to clean up old states.
- default: simple max of (state count, min age), so that we have at least N hours of history, say?
- osd map: trim only old maps < oldest "in" osd up_from
2008-09-18 22:39:54 +00:00
osdmon
- monitor needs to monitor some osds...
pgmon
2009-01-30 23:00:53 +00:00
/- include osd vector with pg state
2008-09-18 22:39:54 +00:00
- check for orphan pgs
- monitor pg states, notify on out?
- watch osd utilization; adjust overload in cluster map
2008-12-10 00:47:40 +00:00
crush
- allow forcefeed for more complicated rule structures. (e.g. make force_stack a list< set<int> >)
2008-09-18 22:39:54 +00:00
2008-10-17 20:30:33 +00:00
osd
2008-11-26 22:48:52 +00:00
- pg split should be a work queue
2008-11-26 19:23:15 +00:00
- pg split needs to fix up pg stats. this is tricky with the clone overlap business...
2008-11-17 17:15:44 +00:00
- generalize ack semantics? or just change ack from memory to journal? memory/journal/disk...
2006-08-03 19:59:26 +00:00
- rdlocks
2006-09-15 21:53:31 +00:00
- optimize remove wrt recovery pushes
2007-07-13 17:29:26 +00:00
2007-02-17 22:49:47 +00:00
simplemessenger
2008-12-10 00:47:40 +00:00
- close idle connections?
2006-08-02 18:00:24 +00:00
objectcacher
2008-11-07 00:14:18 +00:00
- read locks?
- maintain more explicit inode grouping instead of wonky hashes
2009-03-03 23:21:34 +00:00
cas
- chunking. see TTTD in
ESHGHI, K.
A framework for analyzing and improving content-based chunking algorithms.
Tech. Rep. HPL-2005-30(R.1), Hewlett Packard Laboratories, Palo Alto, 2005.