mirror of
https://github.com/ceph/ceph
synced 2024-12-18 01:16:55 +00:00
203 lines
6.3 KiB
Plaintext
203 lines
6.3 KiB
Plaintext
v0.15
|
|
/- clean up msgr protocol checks
|
|
/- kclient: checkpatch fixes, cleanups. allow msg revoke (nice interface cleanup)
|
|
/- monclient fixes; ceph detects monitor session drop
|
|
/- msgr: protocol check cleanups; ack seq # fix;
|
|
/- debian: radosgw package, fix header perms
|
|
/- kclient: GET_DATALOC ioctl
|
|
/- kclient: osdc bug fix
|
|
/- kclient: clean up debugfs layout
|
|
|
|
v0.16
|
|
- kclient: fix msgr bug (out_qlen thing)
|
|
- kclient cleanup: uninline strings, use pr_fmt, prefix frag_ macros
|
|
- kclient: xattr cleanups
|
|
- kclient: fix invalidate recursion bug
|
|
- libceph: identify self
|
|
- hadoop: set primary replica on self
|
|
- kclient: akpm review fixups
|
|
- uninline frags
|
|
- uninline string hash
|
|
- document data structures
|
|
- audit all inline in kclient
|
|
- ceph_buffer and vmalloc?
|
|
- ceph_i_test smp_mb instead of spinlock
|
|
- bit ops in messenger
|
|
- name args in ceph_osd_op union
|
|
- disk format, wire protocol changes
|
|
- use sockaddr_storage; some ipv6 groundwork
|
|
|
|
v0.16.1
|
|
- mds: put migration vectors in mdsmap
|
|
- rgw: fix
|
|
- include buffer.c in kernel package, tarball
|
|
|
|
v0.17
|
|
|
|
|
|
- mon cluster expansion, contraction
|
|
- revert 4fe2e6acb9d3613ca041774c1243940d1c8c9c9c
|
|
- kclient: retry alloc on ENOMEM when reading from connection?
|
|
|
|
|
|
bugs
|
|
- mislinked directory?
|
|
- premature filejournal trimming?
|
|
- weird osd_lock contention during osd restart?
|
|
|
|
later
|
|
- document on-wire protocol
|
|
- authentication
|
|
- client reconnect after long eviction; and slow delayed reconnect
|
|
- ENOSPC
|
|
- space reservation in ObjectStore, redeemed by Transactions?
|
|
- reserved as PG goes active; reservation canceled when pg goes inactive
|
|
- something similar during recovery
|
|
- ?
|
|
- repair
|
|
- mds security enforcement
|
|
- client, user authentication
|
|
- cas
|
|
- osd failure declarations
|
|
- rename over old files should flush data, or revert back to old contents
|
|
|
|
mount.ceph
|
|
- should look at multiple A records, pass all IPs to kernel
|
|
|
|
rados
|
|
- make rest interface superset of s3?
|
|
- create/delete snapshots
|
|
- list, access snapped version
|
|
- perl swig wrapper
|
|
- 'rados call foo.bar'?
|
|
- merge pgs
|
|
- destroy pg_pools
|
|
- autosize pg_pools?
|
|
- security
|
|
|
|
repair
|
|
- namespace reconstruction tool
|
|
- repair pg (rebuild log) (online or offline? ./cosd --repair_pg 1.ef?)
|
|
- repair file ioctl?
|
|
- 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?
|
|
- mds scrubbing
|
|
|
|
kclient
|
|
- use page lists for large messages? e.g. reconnect
|
|
- make caps reservations per-client
|
|
- fix up ESTALE handling
|
|
- don't retry on ENOMEM on non-nofail requests in kick_requests
|
|
- make cap import/export more efficient?
|
|
- flock, fnctl locks
|
|
- ACLs
|
|
- init security xattrs
|
|
- should we try to ref CAP_PIN on special inodes that are open?
|
|
- fix readdir vs fragment race by keeping a separate frag pos, and ignoring dentries below it
|
|
- inotify for updates from other clients?
|
|
|
|
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()
|
|
- a getattr mask would be really nice
|
|
|
|
filestore
|
|
- make min sync interval self-tuning (ala xfs, ext3?)
|
|
- get file csum?
|
|
|
|
btrfs
|
|
- clone compressed inline extents
|
|
- ioctl to pull out data csum?
|
|
|
|
osd
|
|
- clean up monitor session handling
|
|
- what to do with lost objects.. continue peering?
|
|
- segregate backlog from log ondisk?
|
|
- preserve pg logs on disk for longer period
|
|
- make scrub interruptible
|
|
- optionally separate osd interfaces (ips) for clients and osds (replication, peering, etc.)
|
|
- pg repair
|
|
- pg split should be a work queue
|
|
- optimize remove wrt recovery pushes?
|
|
|
|
uclient
|
|
- clean up check_caps to more closely mirror kclient logic
|
|
- readdir from cache
|
|
- fix readdir vs fragment race by keeping a separate frag pos, and ignoring dentries below it
|
|
- hadoop: clean up assert usage
|
|
|
|
mds
|
|
- pass issued, wanted into eval(lock) when eval() already has it? (and otherwise optimize eval paths..)
|
|
- add an up:shadow mode?
|
|
- tail the mds log as it is written
|
|
- periodically check head so that we trim, too
|
|
- handle slow client reconnect (i.e. after mds has gone active)
|
|
- anchor_destroy needs to xlock linklock.. which means it needs a Mutation wrapper?
|
|
- ... when it gets a caller.. someday..
|
|
- add FILE_CAP_EXTEND capability bit
|
|
- dir fragment
|
|
- maybe just take dftlock for now, to keep it simple.
|
|
- dir merge
|
|
- snap
|
|
- hard link backpointers
|
|
- anchor source dir
|
|
- build snaprealm for any hardlinked file
|
|
- include snaps for all (primary+remote) parents
|
|
- how do we properly clean up inodes when doing a snap purge?
|
|
- when they are mid-recover? see 136470cf7ca876febf68a2b0610fa3bb77ad3532
|
|
- what if a recovery is queued, or in progress, and the inode is then cowed? can that happen?
|
|
- proper handling of cache expire messages during rejoin phase?
|
|
-> i think cache expires are fine; the rejoin_ack handler just has to behave if rejoining items go missing
|
|
|
|
- clustered
|
|
- on replay, but dirty scatter replicas on lists so that they get flushed? or does rejoin handle that?
|
|
- linkage vs cdentry replicas and remote rename....
|
|
- rename: importing inode... also journal imported client map?
|
|
|
|
mon
|
|
- mds injectargs N should take mds# or id. * should bcast to standy mds's.
|
|
- 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
|
|
|
|
osdmon
|
|
- monitor needs to monitor some osds...
|
|
|
|
pgmon
|
|
/- include osd vector with pg state
|
|
- check for orphan pgs
|
|
- monitor pg states, notify on out?
|
|
- watch osd utilization; adjust overload in cluster map
|
|
|
|
crush
|
|
- allow forcefeed for more complicated rule structures. (e.g. make force_stack a list< set<int> >)
|
|
|
|
simplemessenger
|
|
- close idle connections?
|
|
|
|
objectcacher
|
|
- read locks?
|
|
- maintain more explicit inode grouping instead of wonky hashes
|
|
|
|
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.
|
|
|
|
s3
|
|
- handle gracefully location related requests
|
|
- logging control (?)
|
|
- parse date/time better
|
|
- upload using post
|
|
- torrent
|
|
- handle gracefully PUT/GET requestPayment
|