]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Sage Weil [Tue, 23 Dec 2008 00:12:26 +0000 (16:12 -0800)]
mds: optional ino for mknod/mkdir/open requests
Will be needed for replaying those requests if we get an early
reply, to ensure that the same ino is used.
Sage Weil [Tue, 23 Dec 2008 00:11:39 +0000 (16:11 -0800)]
mds: preallocate inos for each client session
Do not use preallocated inos until we have journaled the
preallocation. If we use a newly allocated ino, do not do an
early_reply.
When the session closes, release the inos.
Sage Weil [Mon, 22 Dec 2008 22:03:43 +0000 (14:03 -0800)]
mds: do early replies for basic inode update operations
chmod, chown, etc. Not for mknod/mkdir, which allocate inos.
Sage Weil [Mon, 22 Dec 2008 21:48:40 +0000 (13:48 -0800)]
mds: early_reply infrastructure
Sage Weil [Mon, 22 Dec 2008 21:43:29 +0000 (13:43 -0800)]
mds: fix null_okay traverse logic
Sage Weil [Mon, 22 Dec 2008 21:42:12 +0000 (13:42 -0800)]
mds: add safe flag to mds reply
Sage Weil [Fri, 19 Dec 2008 23:46:06 +0000 (15:46 -0800)]
mds: process caps if freezing and unstable lock
The caps message may be a revocation ack that is needed to complete
the freeze. In general, though, we back off even if freezing,
since we want to avoid starving the freeze as much as possible.
Sage Weil [Fri, 19 Dec 2008 22:53:43 +0000 (14:53 -0800)]
mds: misc filelock fixes
Sage Weil [Fri, 19 Dec 2008 22:53:30 +0000 (14:53 -0800)]
mds: auth_pin rdlocks too
Not sure why we didn't before... :/
Sage Weil [Fri, 19 Dec 2008 22:27:36 +0000 (14:27 -0800)]
kclient: make mdsmap_decode print nicer info
Sage Weil [Fri, 19 Dec 2008 22:27:00 +0000 (14:27 -0800)]
kclient: update num_fwd in client requests
We were keeping our local copy, but not updating the message sent.
Also fix buggy maybe_dup behavior (dup, then set rhead pointer)!
Sage Weil [Fri, 19 Dec 2008 22:24:35 +0000 (14:24 -0800)]
kclient: allow mds to force open a client session
Sage Weil [Fri, 19 Dec 2008 21:54:42 +0000 (13:54 -0800)]
mds: don't bump to sync if dir and subtree root
Sage Weil [Fri, 19 Dec 2008 21:54:17 +0000 (13:54 -0800)]
mds: fix file_wrlock_start waiting
Sage Weil [Fri, 19 Dec 2008 21:01:29 +0000 (13:01 -0800)]
mds: filelock typo in can_rdlock
Sage Weil [Thu, 18 Dec 2008 20:12:37 +0000 (12:12 -0800)]
mds: cleanup
Sage Weil [Thu, 18 Dec 2008 20:12:33 +0000 (12:12 -0800)]
vstart: 1 mds
Sage Weil [Thu, 18 Dec 2008 20:12:23 +0000 (12:12 -0800)]
mds: check_inode_max_size only change filelock state if needed
Don't try to change lock state unless we actually have something
to update.
Sage Weil [Thu, 18 Dec 2008 20:01:23 +0000 (12:01 -0800)]
kclient: ICONTENT -> IFILE
Sage Weil [Thu, 18 Dec 2008 19:31:43 +0000 (11:31 -0800)]
vstart: start 3 mdss
Sage Weil [Thu, 18 Dec 2008 19:31:36 +0000 (11:31 -0800)]
mds: basic filelock fixes
Sage Weil [Thu, 18 Dec 2008 18:53:34 +0000 (10:53 -0800)]
mon: add multiple mds's at once
Sage Weil [Thu, 18 Dec 2008 18:36:47 +0000 (10:36 -0800)]
mds: kill the dirlock
Sage Weil [Thu, 18 Dec 2008 18:12:43 +0000 (10:12 -0800)]
mds: make filelock a scatterlock child; move wrlock into simplelock
Sage Weil [Thu, 18 Dec 2008 00:51:11 +0000 (16:51 -0800)]
mds: fix mixed_sync state; send replica mixed state to primary as needed
Sage Weil [Thu, 18 Dec 2008 00:00:33 +0000 (16:00 -0800)]
mds: message include cleanup
Sage Weil [Wed, 17 Dec 2008 23:06:02 +0000 (15:06 -0800)]
mds: fix up filelock states
Allow wrlocks in LOCK_MIXED (which will serve the same function as
LOCK_SCATTER).
Clean up can_wrlock()/can_rdlock().. there were lots of states in
there that shouldn't have been.
Sage Weil [Wed, 17 Dec 2008 22:47:55 +0000 (14:47 -0800)]
mds: new FileLock lock->sync state
Previously this was avoided, more or less by accident. ScatterLock
has it, so we'll presumably need it in FileLock to fold them
together.
Sage Weil [Wed, 17 Dec 2008 22:39:35 +0000 (14:39 -0800)]
mds: rename gather lock states
Easier to read: LOCK_oldstate_newstate, "oldstate->newstate"
Sage Weil [Tue, 23 Dec 2008 19:44:40 +0000 (11:44 -0800)]
mds: include max mds in mdsmap summary
Sage Weil [Tue, 23 Dec 2008 19:44:28 +0000 (11:44 -0800)]
mds: fix standby_replay on startup
Yehuda Sadeh [Mon, 22 Dec 2008 23:20:27 +0000 (15:20 -0800)]
remove uninitialized warnings
Yehuda Sadeh [Mon, 22 Dec 2008 21:13:20 +0000 (13:13 -0800)]
osd: gracefully exit when create_object_store() returns NULL
Sage Weil [Mon, 22 Dec 2008 17:01:48 +0000 (09:01 -0800)]
osd: inc_lock attr is optional
Sage Weil [Mon, 22 Dec 2008 06:40:46 +0000 (22:40 -0800)]
osd: update pg degraded stats only when active
peer_missing needs to be defined.
Sage Weil [Mon, 22 Dec 2008 06:07:33 +0000 (22:07 -0800)]
osd: initialize generate_backlog_epoch
Sage Weil [Thu, 18 Dec 2008 19:49:42 +0000 (11:49 -0800)]
osd: clear_prior when activating
This just ensures that, once active, an osd state change affecting our
prior_set won't make us repeer. E.g., a prior going down.
Sage Weil [Thu, 18 Dec 2008 19:48:32 +0000 (11:48 -0800)]
osd: clear backlog flag when done
Otherwise we won't requeue again later.
Sage Weil [Fri, 19 Dec 2008 20:17:45 +0000 (12:17 -0800)]
osd: only update degraded object stats after peering
This avoids incorrectly populating peer_missing[acting[i]], which
in turn screws up peering and recovery.
Sage Weil [Fri, 19 Dec 2008 00:46:07 +0000 (16:46 -0800)]
osd: clear STATE_PEERING during replay
Sage Weil [Fri, 19 Dec 2008 00:45:56 +0000 (16:45 -0800)]
osd: safely encode all other attributes
Sage Weil [Fri, 19 Dec 2008 00:01:41 +0000 (16:01 -0800)]
osd: properly encode ondisklog attr
Also combine into a single attr.
Sage Weil [Thu, 18 Dec 2008 23:24:00 +0000 (15:24 -0800)]
buffer: optionally preallocate some append_buffer
Sage Weil [Thu, 18 Dec 2008 19:32:08 +0000 (11:32 -0800)]
make time format easier to read
Sage Weil [Thu, 18 Dec 2008 00:48:38 +0000 (16:48 -0800)]
ceph: terminate dumped output
Sage Weil [Wed, 17 Dec 2008 19:21:59 +0000 (11:21 -0800)]
mon: tell stdout where the monmap came from
Sage Weil [Mon, 15 Dec 2008 20:49:57 +0000 (12:49 -0800)]
dstart: cm.txt update (for 3x)
Sage Weil [Wed, 17 Dec 2008 23:32:14 +0000 (15:32 -0800)]
ceph: fix observe renewal; ack by paxos
Sage Weil [Wed, 17 Dec 2008 22:06:15 +0000 (14:06 -0800)]
todo
Sage Weil [Wed, 17 Dec 2008 21:37:34 +0000 (13:37 -0800)]
verify-mds-journal: periodically verify mds replay; stop if error
Sage Weil [Wed, 17 Dec 2008 21:32:11 +0000 (13:32 -0800)]
mds: only standby-replay when explicitly requested on startup.
Until it does something more than just replay the log and quit.
Sage Weil [Wed, 17 Dec 2008 21:12:27 +0000 (13:12 -0800)]
mds: basic standby-replay hack
Replay the log, and exit cleanly if everything looks ok.
Sage Weil [Wed, 17 Dec 2008 21:02:44 +0000 (13:02 -0800)]
mon: replace laggy standby-replay nodes too
If there is someone to take over...
Sage Weil [Wed, 17 Dec 2008 20:34:28 +0000 (12:34 -0800)]
mon: mark extra standby mds's as standby-replay
Not that the mds does the right thing, yet...
Sage Weil [Wed, 17 Dec 2008 18:53:42 +0000 (10:53 -0800)]
osd: enable queue_generate_backlog on pg query
Code was disabled, oops.
Sage Weil [Wed, 17 Dec 2008 19:20:23 +0000 (11:20 -0800)]
mds: fix mdsmap dump
Don't fall over duplicate mds (id,inc) pairs.
Sage Weil [Wed, 17 Dec 2008 18:30:42 +0000 (10:30 -0800)]
msgr: stop accepter on socket error
Only if we get a few in a row.
Sage Weil [Tue, 16 Dec 2008 21:06:59 +0000 (13:06 -0800)]
mds: restructure mds map, clean up mdsmon
More flexible mdsmap structure. Cleaner interface.
Sage Weil [Tue, 16 Dec 2008 19:45:57 +0000 (11:45 -0800)]
mon: clean up mdsmon a bit; do takeovers from tick(), not _committed()
This puts all the takeover logic in one place. And avoids any
funny issues where the monitor fails before it can do a takeover.
More robust.
Sage Weil [Tue, 16 Dec 2008 18:45:10 +0000 (10:45 -0800)]
mon: blacklist failed mds
Sage Weil [Tue, 16 Dec 2008 18:41:55 +0000 (10:41 -0800)]
mon: expire old blacklist items (osdmap change)
Sage Weil [Wed, 10 Dec 2008 23:25:30 +0000 (15:25 -0800)]
osd: clean out acker cruft
Sage Weil [Mon, 15 Dec 2008 23:41:08 +0000 (15:41 -0800)]
rev protocol, mon disk formats due to mdsmap change
Sage Weil [Mon, 15 Dec 2008 23:30:50 +0000 (15:30 -0800)]
mon: mdsmap infrastructure for standby states, up:standby-replay
We need a state value for standby mds's.
Sage Weil [Tue, 16 Dec 2008 21:37:11 +0000 (13:37 -0800)]
osd: fix pg stat reporting
We were skipping pgs that weren't active instead of not primary.
Sage Weil [Tue, 16 Dec 2008 21:28:10 +0000 (13:28 -0800)]
osd: do delayed activation after replay via a queue, not timer event
This avoids osd_lock dependency by using osd->timer.
Sage Weil [Tue, 16 Dec 2008 21:14:30 +0000 (13:14 -0800)]
osd: take osd_lock in generate_backlog before peer()
Peer() uses the osd.timer to schedule the replay interval, which
needs osd_lock.
Sage Weil [Tue, 16 Dec 2008 19:32:44 +0000 (11:32 -0800)]
mds cleanup
Sage Weil [Tue, 16 Dec 2008 19:25:21 +0000 (11:25 -0800)]
mds: add logclient
Sage Weil [Tue, 16 Dec 2008 19:25:14 +0000 (11:25 -0800)]
logclient: adjust link_dispatcher; add unlink_dispatcher
Sage Weil [Tue, 16 Dec 2008 18:56:53 +0000 (10:56 -0800)]
todos
Sage Weil [Tue, 16 Dec 2008 00:40:08 +0000 (16:40 -0800)]
mds: remove follows==0 special cases
A follows==0 shouldn't have any special meaning anymore. See also
1876ca5ad4b92f0794c91d15502c16ad747dbf8b .
Sage Weil [Mon, 15 Dec 2008 23:57:36 +0000 (15:57 -0800)]
mds: when recovering size, don't munge up projected->size; use new_size
Sage Weil [Mon, 15 Dec 2008 23:56:51 +0000 (15:56 -0800)]
mds: update rbytes with size on truncate, etc.
Sage Weil [Mon, 15 Dec 2008 22:33:00 +0000 (14:33 -0800)]
mon: send mdsmap on beacon from mds not in the map
This happens when an mds goes laggy and is marked down by the
monitor.
Sage Weil [Mon, 15 Dec 2008 22:17:26 +0000 (14:17 -0800)]
mon: clean up mds failure output
iterator p isn't valid; use temp values.
Sage Weil [Mon, 15 Dec 2008 21:44:52 +0000 (13:44 -0800)]
mon: immediately propose after 'osd setmap'
Any subsequent osdmap changes will be ignored anyway.
Note that this still throws out changes _prior_ to the setmap. In
theory, that shouldn't matter, since we're replacing the map
anyway.
Sage Weil [Mon, 15 Dec 2008 20:33:10 +0000 (12:33 -0800)]
update debian, spec files to reflect cmonctl->ceph rename
Sage Weil [Mon, 15 Dec 2008 20:00:17 +0000 (12:00 -0800)]
ceph: allow > and < to redirect command input/output
Sage Weil [Mon, 15 Dec 2008 19:45:10 +0000 (11:45 -0800)]
ceph: fold cobserver into ceph
Sage Weil [Mon, 15 Dec 2008 19:34:11 +0000 (11:34 -0800)]
todo
Sage Weil [Mon, 15 Dec 2008 19:32:32 +0000 (11:32 -0800)]
mds: mark new directories new in journal; add to new list on replay
This ensures the dir is written when the logseg is eventually
expired.
Sage Weil [Mon, 15 Dec 2008 19:17:36 +0000 (11:17 -0800)]
cobserver: usage
Sage Weil [Mon, 15 Dec 2008 19:15:55 +0000 (11:15 -0800)]
rename cmonctl -> ceph
Yehuda Sadeh [Mon, 15 Dec 2008 19:21:33 +0000 (11:21 -0800)]
cobserver: retry if when no response on startup
Yehuda Sadeh [Mon, 15 Dec 2008 18:45:08 +0000 (10:45 -0800)]
vstart.sh: can specify mon address
Yehuda Sadeh [Mon, 15 Dec 2008 17:54:50 +0000 (09:54 -0800)]
osd: add missing declaration
Sage Weil [Mon, 15 Dec 2008 05:40:21 +0000 (21:40 -0800)]
vstart: debug pg reporting
Sage Weil [Mon, 15 Dec 2008 05:39:54 +0000 (21:39 -0800)]
osd: generate_backlog asynchronously in a work queue; simplify peering a bit
We do all backlog creation in a thread pool. Break it down into the
disk scan and log integration steps, and drop PG lock as much as possible.
We only worry about pg acting changes; backlogs are only generated when the
pg is inactive.
We also simplify the activation code a bit by observing that replicas only
generate backlogs when their logs are discontiguous with the primary; in
such cases, we pull the backlog during peering and no generate_backlog
(equivalent) is needed for activation.
Sage Weil [Fri, 12 Dec 2008 05:12:42 +0000 (21:12 -0800)]
osd: half-finished backlog_wq
Sage Weil [Fri, 12 Dec 2008 21:46:06 +0000 (13:46 -0800)]
crush: don't recurse to leaf unless item is a bucket
This avoids choking on 'chooseleaf indep 0 item device' (it's
equivalent to 'choose indep 0 item device').
Sage Weil [Sat, 13 Dec 2008 04:21:34 +0000 (20:21 -0800)]
osd: shift generate_backlog out of merge_log
...in preparation for shifting it off to a worker thread.
Sage Weil [Sat, 13 Dec 2008 04:01:14 +0000 (20:01 -0800)]
osd: for remaining peers, pull either log or backlog, but not both.
Pull as far back as peer's last_epoch_started (if they have that much).
This ensures we will pull any divergent entries, if there are any, so
that we can update our peer_missing map accordingly.
Sage Weil [Fri, 12 Dec 2008 23:12:42 +0000 (15:12 -0800)]
osd: comment clean up
Sage Weil [Fri, 12 Dec 2008 23:12:31 +0000 (15:12 -0800)]
dstart: 3x replication
Sage Weil [Fri, 12 Dec 2008 23:02:55 +0000 (15:02 -0800)]
osd: simplify peer code a bit
Combine the two loops.
Sage Weil [Fri, 12 Dec 2008 23:00:34 +0000 (15:00 -0800)]
osd: simplify master log recreation; fix up Log::copy_after
Pull log from a given point from peer with the largest last_update. Do
not worry about divergence on the peer; that is handled by the new
primary. Simplifies PG::Query struct.
Fix copy_after to set an accurate .bottom, and to behave if the split
point given is divergent (i.e. doesn't actually appear in the log).
Yehuda Sadeh [Fri, 12 Dec 2008 22:51:40 +0000 (14:51 -0800)]
vstart.sh/stop.sh can start and stop specific modules
Sage Weil [Fri, 12 Dec 2008 22:07:49 +0000 (14:07 -0800)]
dstop: kill crun too
Sage Weil [Fri, 12 Dec 2008 22:07:40 +0000 (14:07 -0800)]
osd: move max_rep back to 3x