2009-09-08 21:48:27 +00:00
|
|
|
v0.15
|
2009-09-10 18:23:33 +00:00
|
|
|
/- clean up msgr protocol checks
|
2009-09-16 19:12:34 +00:00
|
|
|
/- 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
|
2009-09-18 19:45:48 +00:00
|
|
|
/- kclient: GET_DATALOC ioctl
|
2009-09-22 17:00:31 +00:00
|
|
|
/- kclient: osdc bug fix
|
|
|
|
/- kclient: clean up debugfs layout
|
2009-09-10 18:23:33 +00:00
|
|
|
|
2009-09-22 21:18:47 +00:00
|
|
|
v0.16
|
2009-10-01 20:28:30 +00:00
|
|
|
- kclient: fix msgr bug (out_qlen thing)
|
2009-09-22 21:18:47 +00:00
|
|
|
- kclient cleanup: uninline strings, use pr_fmt, prefix frag_ macros
|
2009-09-28 20:47:22 +00:00
|
|
|
- kclient: xattr cleanups
|
2009-09-29 20:29:07 +00:00
|
|
|
- kclient: fix invalidate recursion bug
|
2009-10-01 20:28:30 +00:00
|
|
|
- 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?
|
2009-10-02 21:27:48 +00:00
|
|
|
- ceph_i_test smp_mb instead of spinlock
|
2009-10-01 20:28:30 +00:00
|
|
|
- bit ops in messenger
|
|
|
|
- name args in ceph_osd_op union
|
|
|
|
- disk format, wire protocol changes
|
2009-10-02 21:27:48 +00:00
|
|
|
- use sockaddr_storage; some ipv6 groundwork
|
2009-09-22 21:18:47 +00:00
|
|
|
|
2009-10-06 21:00:51 +00:00
|
|
|
v0.16.1
|
2009-09-28 20:47:22 +00:00
|
|
|
- mds: put migration vectors in mdsmap
|
2009-10-06 21:00:51 +00:00
|
|
|
- rgw: fix
|
|
|
|
- include buffer.c in kernel package, tarball
|
|
|
|
|
|
|
|
v0.17
|
2009-10-09 22:15:25 +00:00
|
|
|
- kclient: fix multiple mds mdsmap decoding
|
|
|
|
- kclient: fix mon subscription renewal
|
|
|
|
- crush: fix crush map creation with empty buckets (occurs on larger clusters)
|
|
|
|
- osdmap: fix encoding bug (crashes kclient); make kclient not crash
|
2009-10-13 06:05:50 +00:00
|
|
|
- msgr: simplified policy, failure model
|
|
|
|
- mon: less push, more pull
|
|
|
|
- mon: request routing
|
2009-10-16 22:42:34 +00:00
|
|
|
- mon cluster expansion
|
2009-10-19 19:02:22 +00:00
|
|
|
- osd: fix pg parsing, restarts on larger clusters
|
2009-10-14 22:22:23 +00:00
|
|
|
|
2009-10-20 18:59:15 +00:00
|
|
|
v0.18
|
2009-10-28 22:32:07 +00:00
|
|
|
- basic ENOSPC handling
|
2009-11-06 06:21:22 +00:00
|
|
|
- big endian fixes (required protocol/disk format change)
|
2009-11-09 21:32:07 +00:00
|
|
|
- improved object -> pg hash function; selectable
|
|
|
|
- selectable crush hash function(s)
|
2009-11-11 00:32:01 +00:00
|
|
|
- mds restart bug fixes
|
|
|
|
- kclient mds reconnect bug fixes
|
2009-11-12 23:12:18 +00:00
|
|
|
- fixed mds log trimming bug
|
|
|
|
- fixed mds cap vs snap deadlock
|
|
|
|
- filestore faster flushing
|
2009-11-17 19:49:37 +00:00
|
|
|
- uclient and kclient snapshot fixes
|
2009-10-20 18:59:15 +00:00
|
|
|
|
2009-11-06 06:22:27 +00:00
|
|
|
- mount btrfs by UUID?
|
|
|
|
|
2009-10-20 18:59:15 +00:00
|
|
|
- qa
|
|
|
|
- osd: rebuild pg log
|
|
|
|
- osd: handle storage errors
|
|
|
|
|
|
|
|
- rebuild mds hierarchy
|
|
|
|
|
2009-10-14 22:22:23 +00:00
|
|
|
- kclient: msgs built with a page list
|
2009-09-08 20:46:00 +00:00
|
|
|
- kclient: retry alloc on ENOMEM when reading from connection?
|
2009-10-01 20:28:30 +00:00
|
|
|
|
2009-10-09 22:15:25 +00:00
|
|
|
|
|
|
|
pending wire, disk format changes
|
2009-09-30 17:24:28 +00:00
|
|
|
|
2009-06-19 04:19:25 +00:00
|
|
|
bugs
|
2009-11-16 21:35:45 +00:00
|
|
|
- SIGBUS
|
|
|
|
- mislinked directory? (cpusr.sh, mv /c/* /c/t, more cpusr, ls /c/t)
|
2009-07-08 23:30:41 +00:00
|
|
|
- premature filejournal trimming?
|
2009-08-10 23:50:26 +00:00
|
|
|
- weird osd_lock contention during osd restart?
|
2009-11-17 23:05:41 +00:00
|
|
|
- kclient: after reconnect,
|
|
|
|
cp: writing `/c/ceph2.2/bin/gs-gpl': Bad file descriptor
|
|
|
|
- need to somehow wake up unreconnected caps? hrm!!
|
|
|
|
- kclient: ~300 (306, 311) second delay before able to reconnect to restarted monitor???
|
|
|
|
- kclient: socket creation
|
|
|
|
- kclient: bdi thing after mount failures, multiple attempts
|
|
|
|
[ 1438.509155] ------------[ cut here ]------------
|
|
|
|
[ 1438.513933] WARNING: at fs/sysfs/dir.c:487 sysfs_add_one+0xf3/0x10a()
|
|
|
|
[ 1438.520560] Hardware name: PDSMi
|
|
|
|
[ 1438.523898] sysfs: cannot create duplicate filename '/class/bdi/0:25'
|
|
|
|
[ 1438.530526] Modules linked in: ceph fan ac battery container ehci_hcd uhci_hcd thermal button processor
|
|
|
|
[ 1438.546600] Pid: 2829, comm: mount.ceph Tainted: G W 2.6.32-rc2 #1
|
|
|
|
[ 1438.553722] Call Trace:
|
|
|
|
[ 1438.556279] [<ffffffff81131c21>] ? sysfs_add_one+0xf3/0x10a
|
|
|
|
[ 1438.562179] [<ffffffff810453d7>] warn_slowpath_common+0x77/0xa4
|
|
|
|
[ 1438.568399] [<ffffffff81045479>] warn_slowpath_fmt+0x64/0x66
|
|
|
|
[ 1438.574364] [<ffffffff8106db61>] ? trace_hardirqs_on_caller+0x113/0x13e
|
|
|
|
[ 1438.581312] [<ffffffff81131b26>] ? sysfs_pathname+0x37/0x3f
|
|
|
|
[ 1438.587132] [<ffffffff81131b26>] ? sysfs_pathname+0x37/0x3f
|
|
|
|
[ 1438.593017] [<ffffffff81131b26>] ? sysfs_pathname+0x37/0x3f
|
|
|
|
[ 1438.598894] [<ffffffff81131c21>] sysfs_add_one+0xf3/0x10a
|
|
|
|
[ 1438.604593] [<ffffffff811322a3>] create_dir+0x58/0x93
|
|
|
|
[ 1438.609929] [<ffffffff81132316>] sysfs_create_dir+0x38/0x4f
|
|
|
|
[ 1438.615825] [<ffffffff8146c955>] ? _spin_unlock+0x30/0x4b
|
|
|
|
[ 1438.621520] [<ffffffff81256497>] kobject_add_internal+0x125/0x201
|
|
|
|
[ 1438.627939] [<ffffffff8125664b>] kobject_add_varg+0x41/0x4d
|
|
|
|
[ 1438.633820] [<ffffffff8125675c>] kobject_add+0x89/0x8b
|
|
|
|
[ 1438.639263] [<ffffffff8106d8c8>] ? mark_held_locks+0x4d/0x6b
|
|
|
|
[ 1438.645245] [<ffffffff8106c683>] ? lockdep_init_map+0xae/0x540
|
|
|
|
[ 1438.651351] [<ffffffff812562ec>] ? kobject_get+0x1a/0x22
|
|
|
|
[ 1438.656906] [<ffffffff812cdeb9>] ? get_device+0x14/0x1a
|
|
|
|
[ 1438.662371] [<ffffffff812ce93e>] device_add+0x119/0x627
|
|
|
|
[ 1438.667877] [<ffffffff8126040d>] ? __spin_lock_init+0x31/0x54
|
|
|
|
[ 1438.673933] [<ffffffff812cee65>] device_register+0x19/0x1d
|
|
|
|
[ 1438.679703] [<ffffffff812cef77>] device_create_vargs+0x10e/0x13b
|
|
|
|
[ 1438.686028] [<ffffffff810ba606>] bdi_register+0x80/0x192
|
|
|
|
[ 1438.691635] [<ffffffff8106c683>] ? lockdep_init_map+0xae/0x540
|
|
|
|
[ 1438.697762] [<ffffffff810a5e33>] ? mempool_kmalloc+0x11/0x13
|
|
|
|
[ 1438.703714] [<ffffffff810a6288>] ? mempool_create_node+0x122/0x16e
|
|
|
|
[ 1438.710218] [<ffffffffa004e756>] ? ceph_set_super+0x0/0xd8 [ceph]
|
|
|
|
[ 1438.716620] [<ffffffff810a5da6>] ? mempool_kfree+0x0/0xb
|
|
|
|
[ 1438.722221] [<ffffffff810a5e22>] ? mempool_kmalloc+0x0/0x13
|
|
|
|
[ 1438.728072] [<ffffffff810ba73b>] bdi_register_dev+0x23/0x25
|
|
|
|
[ 1438.733944] [<ffffffffa004e127>] ceph_get_sb+0xa20/0x104f [ceph]
|
|
|
|
[ 1438.740267] [<ffffffff810d3d4f>] ? __kmalloc+0x15c/0x1ef
|
|
|
|
[ 1438.745869] [<ffffffff810d792a>] ? __alloc_percpu+0xb/0xd
|
|
|
|
[ 1438.751545] [<ffffffff810dbcb4>] vfs_kern_mount+0x9d/0x158
|
|
|
|
[ 1438.757359] [<ffffffff810dbdcc>] do_kern_mount+0x47/0xe7
|
|
|
|
[ 1438.762967] [<ffffffff810f2749>] do_mount+0x743/0x7a9
|
|
|
|
[ 1438.768284] [<ffffffff810b8baa>] ? strndup_user+0x5d/0x85
|
|
|
|
[ 1438.773962] [<ffffffff810f282e>] sys_mount+0x7f/0xc1
|
|
|
|
[ 1438.779204] [<ffffffff8146c393>] ? trace_hardirqs_on_thunk+0x3a/0x3f
|
|
|
|
[ 1438.785846] [<ffffffff8100baab>] system_call_fastpath+0x16/0x1b
|
2009-06-19 04:19:25 +00:00
|
|
|
|
2009-10-29 23:24:40 +00:00
|
|
|
greg
|
|
|
|
- osd: error handling
|
|
|
|
- uclient: readdir from cache
|
|
|
|
- mds: basic auth checks
|
|
|
|
|
2009-04-28 05:34:52 +00:00
|
|
|
later
|
2009-10-06 21:00:51 +00:00
|
|
|
- document on-wire protocol
|
2009-07-01 20:50:54 +00:00
|
|
|
- authentication
|
2009-04-27 20:35:21 +00:00
|
|
|
- client reconnect after long eviction; and slow delayed reconnect
|
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
|
|
|
|
2009-05-06 20:51:33 +00:00
|
|
|
rados
|
2009-07-22 18:26:41 +00:00
|
|
|
- make rest interface superset of s3?
|
2009-09-15 20:14:01 +00:00
|
|
|
- create/delete snapshots
|
|
|
|
- list, access snapped version
|
2009-06-18 22:22:15 +00:00
|
|
|
- perl swig wrapper
|
2009-06-22 17:05:19 +00:00
|
|
|
- 'rados call foo.bar'?
|
2009-05-06 22:23:12 +00:00
|
|
|
- merge pgs
|
|
|
|
- destroy pg_pools
|
|
|
|
- autosize pg_pools?
|
|
|
|
- security
|
2009-05-06 20:51:33 +00:00
|
|
|
|
2008-09-18 22:39:54 +00:00
|
|
|
repair
|
2009-06-18 22:22:15 +00:00
|
|
|
- namespace reconstruction tool
|
|
|
|
- repair pg (rebuild log) (online or offline? ./cosd --repair_pg 1.ef?)
|
|
|
|
- repair file ioctl?
|
2008-09-18 22:39:54 +00:00
|
|
|
- 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
|
2008-07-25 23:23:00 +00:00
|
|
|
|
2009-07-02 21:15:20 +00:00
|
|
|
kclient
|
2009-11-06 07:03:59 +00:00
|
|
|
- ENOMEM
|
|
|
|
- message pools
|
|
|
|
- sockets? (this can actual generates a lockdep warning :/)
|
2009-10-06 21:00:51 +00:00
|
|
|
- use page lists for large messages? e.g. reconnect
|
2009-11-06 07:03:59 +00:00
|
|
|
- fs-portable file layout virtual xattr (see Andreas' -fsdevel thread)
|
|
|
|
- statlite
|
|
|
|
- audit/combine/rework/whatever invalidate, writeback threads and associated invariants
|
|
|
|
- add cap to release if we get fouled up in fill_inode et al?
|
2009-09-17 19:04:28 +00:00
|
|
|
- make caps reservations per-client
|
2009-08-03 18:39:27 +00:00
|
|
|
- fix up ESTALE handling
|
2009-09-01 23:07:55 +00:00
|
|
|
- don't retry on ENOMEM on non-nofail requests in kick_requests
|
2009-08-24 18:41:00 +00:00
|
|
|
- make cap import/export more efficient?
|
2009-01-21 18:38:06 +00:00
|
|
|
- flock, fnctl locks
|
2008-10-16 19:13:09 +00:00
|
|
|
- ACLs
|
2009-09-28 17:56:05 +00:00
|
|
|
- init security xattrs
|
2009-04-29 19:06:42 +00:00
|
|
|
- should we try to ref CAP_PIN on special inodes that are open?
|
2008-06-12 21:23:43 +00:00
|
|
|
- fix readdir vs fragment race by keeping a separate frag pos, and ignoring dentries below it
|
2009-04-29 19:06:42 +00:00
|
|
|
- inotify for updates from other clients?
|
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?
|
|
|
|
|
2009-06-22 17:05:19 +00:00
|
|
|
osd
|
2009-10-28 22:32:07 +00:00
|
|
|
- gracefully handle ENOSPC
|
|
|
|
- gracefully handle EIO?
|
2009-10-09 22:15:25 +00:00
|
|
|
- client session object
|
|
|
|
- track client's osdmap; and only share latest osdmap with them once!
|
2009-06-25 03:49:41 +00:00
|
|
|
- what to do with lost objects.. continue peering?
|
2009-06-22 22:50:37 +00:00
|
|
|
- segregate backlog from log ondisk?
|
2009-06-22 17:05:19 +00:00
|
|
|
- preserve pg logs on disk for longer period
|
2009-06-22 22:50:37 +00:00
|
|
|
- make scrub interruptible
|
2009-06-22 17:05:19 +00:00
|
|
|
- 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?
|
2008-12-10 00:47:40 +00:00
|
|
|
|
2009-07-02 21:15:20 +00:00
|
|
|
uclient
|
2009-11-18 20:25:46 +00:00
|
|
|
- fix client_lock vs other mutex with C_SafeCond
|
2009-08-11 22:43:07 +00:00
|
|
|
- clean up check_caps to more closely mirror kclient logic
|
2009-07-02 21:15:20 +00:00
|
|
|
- readdir from cache
|
2008-09-18 22:39:54 +00:00
|
|
|
- fix readdir vs fragment race by keeping a separate frag pos, and ignoring dentries below it
|
2009-07-22 23:10:51 +00:00
|
|
|
- hadoop: clean up assert usage
|
2007-12-19 04:54:23 +00:00
|
|
|
|
2008-06-04 18:08:06 +00:00
|
|
|
mds
|
2009-08-20 21:48:10 +00:00
|
|
|
- pass issued, wanted into eval(lock) when eval() already has it? (and otherwise optimize eval paths..)
|
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-06-05 14:14:45 +00:00
|
|
|
- handle slow client reconnect (i.e. after mds has gone active)
|
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
|
|
|
- add FILE_CAP_EXTEND capability bit
|
2009-06-15 03:29:23 +00:00
|
|
|
- dir fragment
|
|
|
|
- maybe just take dftlock for now, to keep it simple.
|
|
|
|
- dir merge
|
2009-06-03 00:14:40 +00:00
|
|
|
- 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?
|
|
|
|
|
2008-12-10 00:47:40 +00:00
|
|
|
mon
|
2009-10-16 22:42:34 +00:00
|
|
|
- how to shrink cluster?
|
2009-10-12 17:47:11 +00:00
|
|
|
- how to tell osd to cleanly shut down
|
2009-07-01 18:43:10 +00:00
|
|
|
- mds injectargs N should take mds# or id. * should bcast to standy mds's.
|
2008-12-10 00:47:40 +00:00
|
|
|
- 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
|
|
|
|
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.
|
2009-06-12 19:49:30 +00:00
|
|
|
Tech. Rep. HPL-2005-30(R.1), Hewlett Packard Laboratories, Palo Alto, 2005.
|
2009-07-01 18:58:40 +00:00
|
|
|
|
2009-10-28 22:32:07 +00:00
|
|
|
radosgw
|
2009-07-15 21:04:09 +00:00
|
|
|
- handle gracefully location related requests
|
2009-07-01 18:58:40 +00:00
|
|
|
- logging control (?)
|
2009-07-02 20:17:26 +00:00
|
|
|
- parse date/time better
|
|
|
|
- upload using post
|
2009-07-11 01:29:12 +00:00
|
|
|
- torrent
|
2009-07-16 00:58:14 +00:00
|
|
|
- handle gracefully PUT/GET requestPayment
|