]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Sage Weil [Fri, 5 Dec 2008 00:27:28 +0000 (16:27 -0800)]
dstart: put debug output on local disk
Sage Weil [Fri, 5 Dec 2008 00:27:09 +0000 (16:27 -0800)]
debug: allow output and output symlinks to go in different directories
Yehuda Sadeh [Fri, 5 Dec 2008 00:14:55 +0000 (16:14 -0800)]
logmonitor: append all notifications in a single file
Sage Weil [Thu, 4 Dec 2008 22:58:58 +0000 (14:58 -0800)]
set/check subprotocol versions
Sage Weil [Thu, 4 Dec 2008 22:30:11 +0000 (14:30 -0800)]
mon: clean up paxos service registration a bit. rev disk format.
Yehuda Sadeh [Thu, 4 Dec 2008 22:08:39 +0000 (14:08 -0800)]
cleanup, whitespace
Yehuda Sadeh [Thu, 4 Dec 2008 21:59:34 +0000 (13:59 -0800)]
log: use of cascading dispatcher for log messages
Yehuda Sadeh [Thu, 4 Dec 2008 21:31:00 +0000 (13:31 -0800)]
dispatcher: cascading dispatch infrastructure
Sage Weil [Thu, 4 Dec 2008 21:46:19 +0000 (13:46 -0800)]
mon: keep pgmap consistent
We were cutting corners and updating the live map before it
committed to paxos, since pg stats aren't system critical. This
can lead to problems due to the way "latest" is saved out, though,
and it can be confusing to see things jump backward in time.
Sage Weil [Thu, 4 Dec 2008 21:41:29 +0000 (13:41 -0800)]
osd: make replica scrub_map generation a subop
This puts build_scrub_map in a worker thread, _and_ ensures it is
serialized wrt any in-progress writes.
Sage Weil [Thu, 4 Dec 2008 21:40:30 +0000 (13:40 -0800)]
logclient: always print log messages to debug output
Sage Weil [Thu, 4 Dec 2008 21:01:28 +0000 (13:01 -0800)]
osd: fix up scrub error log formatting
Sage Weil [Thu, 4 Dec 2008 21:01:19 +0000 (13:01 -0800)]
logclient: optionally take a stringstream
Sage Weil [Thu, 4 Dec 2008 20:18:07 +0000 (12:18 -0800)]
osd: some scrub fixes
Don't drop locks just yet; atm this leaves the dout() prefix
exposed to concurrent modifications of pg state.
Don't requeue for scrub if already scrubbing.
Fix missing object detection bugs.
Sage Weil [Thu, 4 Dec 2008 19:57:18 +0000 (11:57 -0800)]
osd: fix pg_stats.reported value
Sage Weil [Thu, 4 Dec 2008 19:17:58 +0000 (11:17 -0800)]
osd: drop lock during most of scrub; only disallow concurrent writes
Make the PG go read-only during a scrub. Only take the pg lock
when absolutely necessary. Wait for any pending writes to
complete before starting the scrub.
Sage Weil [Thu, 4 Dec 2008 19:16:25 +0000 (11:16 -0800)]
osd: ignore dup scrub maps
Sage Weil [Thu, 4 Dec 2008 19:15:46 +0000 (11:15 -0800)]
osd: take pg ref on scrub_wq
Sage Weil [Thu, 4 Dec 2008 18:58:23 +0000 (10:58 -0800)]
osd: make scrub verify replica object attrs match
Sage Weil [Thu, 4 Dec 2008 18:57:13 +0000 (10:57 -0800)]
osd: fix pg stat acking in osd
Yehuda Sadeh [Thu, 4 Dec 2008 18:47:35 +0000 (10:47 -0800)]
log: logclient uses log types instead of log level
Sage Weil [Thu, 4 Dec 2008 18:08:22 +0000 (10:08 -0800)]
osd: check for missing clones in pick_read_snap
We may need to wait from op_read if we are missing a specific
clone.
Sage Weil [Thu, 4 Dec 2008 18:07:43 +0000 (10:07 -0800)]
osd: clear waiting_for_head when we pull the head; set skipped if we do
Need to ++skipped if we skip because we're waiting for the head
or else we'll incorrectly advanced requested_to.
Clear waiting_for_head entry when we pull a head we're waiting for.
Sage Weil [Thu, 4 Dec 2008 18:06:09 +0000 (10:06 -0800)]
osd: fix missing.add_event
We only should set have to prior_version if we aren't missing the
prior_version too!
Yehuda Sadeh [Thu, 4 Dec 2008 17:46:24 +0000 (09:46 -0800)]
kclient: fix NULL dereferencing oops
Sage Weil [Thu, 4 Dec 2008 05:12:11 +0000 (21:12 -0800)]
osd: version pg_stats_t with <epoch,version> pair; clean up pgmon a bit
Sage Weil [Thu, 4 Dec 2008 03:46:08 +0000 (19:46 -0800)]
osd: keep projected info on in-progress object modifications in memory
Since the primary delays its writes until after replicas ack, we need to
keep projected object info in memory for the duration, because the
semantics very much depend on whether the object exists and what its size
is (well, mainly the pg_stats do).
This can avoid re-parsing SnapSet et al for certain workloads hitting
the same objects repeatedly (e.g., mds journal objects).
Sage Weil [Thu, 4 Dec 2008 00:42:38 +0000 (16:42 -0800)]
osd: fix problems with propagation of info.stats during recovery
merge_log() is called on replicas, do don't use peer_info (which
is primary-only)!
Sage Weil [Thu, 4 Dec 2008 00:41:53 +0000 (16:41 -0800)]
osd: keep tabs on total object copies vs missing/degraded
Define degraded as an object copy that is not present in the
proper location.
Sage Weil [Thu, 4 Dec 2008 00:26:18 +0000 (16:26 -0800)]
osd: fix uninitialized var use
Yehuda Sadeh [Thu, 4 Dec 2008 00:53:38 +0000 (16:53 -0800)]
add missing header file declaration
Yehuda Sadeh [Thu, 4 Dec 2008 00:36:19 +0000 (16:36 -0800)]
osd: move logging messages to a common infrastructure
Sage Weil [Wed, 3 Dec 2008 23:42:02 +0000 (15:42 -0800)]
mon: clean up pg dump
Sage Weil [Wed, 3 Dec 2008 23:41:56 +0000 (15:41 -0800)]
osd: update stats on primary pull
Sage Weil [Wed, 3 Dec 2008 23:32:44 +0000 (15:32 -0800)]
osd: fix stupid no-op typo
Everything was showing up as a no-op.
Sage Weil [Wed, 3 Dec 2008 23:14:41 +0000 (15:14 -0800)]
osd: log scrub errors to central log
Sage Weil [Wed, 3 Dec 2008 23:06:25 +0000 (15:06 -0800)]
Merge branch 'diskformat' into unstable
Sage Weil [Wed, 3 Dec 2008 22:57:23 +0000 (14:57 -0800)]
mon: include last_scrub info in pg dump
Sage Weil [Wed, 3 Dec 2008 22:57:09 +0000 (14:57 -0800)]
osd: remove pg from recovery_wq with clear_primary_state
Sage Weil [Wed, 3 Dec 2008 22:51:26 +0000 (14:51 -0800)]
osd: make pg refcounting vs work queues constent
Either refcount items in queue, or don't.
Sage Weil [Wed, 3 Dec 2008 22:37:10 +0000 (14:37 -0800)]
osd: do clone scrub based on our generated scrub map
Sage Weil [Wed, 3 Dec 2008 22:17:54 +0000 (14:17 -0800)]
osd: scrub info in pg_stat_t. scrub states.
Sage Weil [Wed, 3 Dec 2008 21:55:48 +0000 (13:55 -0800)]
osd: fix small quirk read_log missing generation
The missing entry .have field was probably wrong due to the use
of missing.add_event (which assumes missing is up to date wrt
the previous log entry). Use the prior version we just pulled off
disk instead.
Also, be a bit more verbose.
Sage Weil [Wed, 3 Dec 2008 21:41:12 +0000 (13:41 -0800)]
mon: always discard pending on election completion
Previously we tried to save the pending if we were still the
leader. The problem is that while we were not leader, we may have
missed out on some updates, in which case the pending may no longer
be based on the current state.
In the future, we could make the commit waiters smart about callback
return codes so that they try to reapply. For now, don't worry
about it.
Sage Weil [Wed, 3 Dec 2008 20:26:24 +0000 (12:26 -0800)]
mds: update segment on ETableServer replay
Otherwise we may forget to flush table changes to disk before
trimming.
Also, clean up code a bit to use update_segment() whenever
possible (instead of duplicating the specific LogSegment update).
Sage Weil [Wed, 3 Dec 2008 20:20:35 +0000 (12:20 -0800)]
mds: print table version loaded during log replay
Sage Weil [Wed, 3 Dec 2008 20:20:22 +0000 (12:20 -0800)]
osd: default 2x pg only for now
Sage Weil [Wed, 3 Dec 2008 20:19:59 +0000 (12:19 -0800)]
osd: distributed scrub compares primary vs replica contents
The checks are still pretty trivial at this point.
Sage Weil [Wed, 3 Dec 2008 18:35:10 +0000 (10:35 -0800)]
osd: do not clear ops vector to indicate noop (protocol change)
The reply needs to include the full ops vector. Use a separate
flag to indicate a noop.
Sage Weil [Wed, 3 Dec 2008 00:02:43 +0000 (16:02 -0800)]
osd: rewrite pg_stats queueing
Use an xlist instead of a separate map. Avoid inefficient
requeueing and external map overhead.
Sage Weil [Tue, 2 Dec 2008 22:38:12 +0000 (14:38 -0800)]
osd: remove useless raid4pg from build
Yehuda Sadeh [Wed, 3 Dec 2008 18:10:55 +0000 (10:10 -0800)]
kclient: fix oops in case written size doesn't match request
Yehuda Sadeh [Wed, 3 Dec 2008 00:16:41 +0000 (16:16 -0800)]
kclient: some logs revision
Sage Weil [Tue, 2 Dec 2008 22:27:30 +0000 (14:27 -0800)]
osd: don't forget about skipped clones during recover_primary
Only advance requested_to if we haven't skipped any items.
Sage Weil [Tue, 2 Dec 2008 22:26:06 +0000 (14:26 -0800)]
always print snapids in hex
Sage Weil [Tue, 2 Dec 2008 22:25:54 +0000 (14:25 -0800)]
osd: log scrub errors to system log
Sage Weil [Tue, 2 Dec 2008 22:28:30 +0000 (14:28 -0800)]
mon: system-wide log
Pretty rudimentary still.
Sage Weil [Tue, 2 Dec 2008 20:03:15 +0000 (12:03 -0800)]
mds: pick_inode_snap should consider follows==0 valid
I suspect a larger audit of 'follows' semantics may be necessary..
but this fixes the bug I was seeing with:
echo asdf > a
mkdir .snap/1
echo qwer > b
mkdir .snap/2
echo zxcv > a
mkdir .snap/3
sync
cat .snap/1/a # empty
ll .snap/* # hangs
Yehuda Sadeh [Tue, 2 Dec 2008 21:37:02 +0000 (13:37 -0800)]
kclient: initialize some protocol fields
Sage Weil [Tue, 2 Dec 2008 03:00:58 +0000 (19:00 -0800)]
osd: log stats for push and pull bytes
Sage Weil [Tue, 2 Dec 2008 19:45:37 +0000 (11:45 -0800)]
mds: avoid overlapping release attempts
If the first release attempt is waiting for the log to flush, we
should avoid sending any RELEASED ack until all releases have
flushed. That is, only the last release will ack. Keep a counter
in Capability to do this.
Otherwise, we may close out a capability from under a release
that is flushing, and our seq # will be meaningless later in
_finish_release_cap() when we're trying to decide what to do.
Sage Weil [Tue, 2 Dec 2008 19:09:16 +0000 (11:09 -0800)]
kclient: avoid queueing cap_snap when nothing is dirty or writing
Save ourselves the trouble when there is nothing to flush
Sage Weil [Tue, 2 Dec 2008 18:49:22 +0000 (10:49 -0800)]
osd: send old_version to replicas
Otherwise CLONE entries in the PG log on replicas have 0'0 for
prior_version, and everything goes to hell.
Sage Weil [Tue, 2 Dec 2008 18:43:36 +0000 (10:43 -0800)]
osd: always get old_version; include in debug output
Sage Weil [Tue, 2 Dec 2008 18:00:18 +0000 (10:00 -0800)]
osd: show prior_version in log dump, output recovery_primary debug output
Sage Weil [Tue, 2 Dec 2008 05:13:34 +0000 (21:13 -0800)]
mds: suspend instead of suicide on beacon timeout
If we don't hear from the monitor, suspend doing any useful work instead
of just committing suicide. If the monitor comes back and hasn't killed
us off, then we're fine. If we've been marked as failed, we will shut
down as before.
Sage Weil [Tue, 2 Dec 2008 00:55:40 +0000 (16:55 -0800)]
filestore: show return codes in debug output
Sage Weil [Tue, 2 Dec 2008 00:53:16 +0000 (16:53 -0800)]
object: print snapid in hex
Sage Weil [Wed, 26 Nov 2008 22:48:52 +0000 (14:48 -0800)]
osd: allow admin to mark osd lost to kickstart recovery (disk format change)
This is important when an osd (or osds) may contain modifications
but is offline. If the data is truly lost, we can kickstart
recovery.
Note that if the osd was storing metadata, this could be
especially dangerous!
Sage Weil [Tue, 2 Dec 2008 00:31:16 +0000 (16:31 -0800)]
osd: clean up pg_stat, osd_stat summation, fields a bit
Yehuda Sadeh [Tue, 2 Dec 2008 00:00:35 +0000 (16:00 -0800)]
kclient: no page cache for write without wrbuf cap
Yehuda Sadeh [Mon, 1 Dec 2008 23:51:58 +0000 (15:51 -0800)]
Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable
Yehuda Sadeh [Mon, 1 Dec 2008 23:50:36 +0000 (15:50 -0800)]
kclient: sync writes use page cache
Sage Weil [Mon, 1 Dec 2008 23:29:56 +0000 (15:29 -0800)]
kclient: clean out old BACKOFF bit flag, comments
Sage Weil [Mon, 1 Dec 2008 22:24:35 +0000 (14:24 -0800)]
osdmaptool: print new osd_info fields
down_at, last_clean interval, etc.
Sage Weil [Mon, 1 Dec 2008 23:16:24 +0000 (15:16 -0800)]
osd: make pg log dump obey debug levels
Sage Weil [Mon, 1 Dec 2008 23:13:25 +0000 (15:13 -0800)]
osd: rebuild past intervals when needed; tolerate partial info
Tolerate missing past_intervals attr.
Also, if only some past intervals are missing, rebuild them all; don't
assume that if any are there then all are there.
Sage Weil [Mon, 1 Dec 2008 19:03:52 +0000 (11:03 -0800)]
osd: send and process heartbeats in separate thread, channel
Use a separate dispatch thread to process heartbeats. Use a
separate thread to send them. This ensures something slow
(e.g. a map update) does not make an osd appear to be down.
This also means a spearate entity_addr for heartbeats, which puts
them over a separate TCP stream.
Sage Weil [Mon, 1 Dec 2008 22:01:45 +0000 (14:01 -0800)]
mds: do not purge until leases expire
Sage Weil [Mon, 1 Dec 2008 18:41:29 +0000 (10:41 -0800)]
lockdep: lockdep_dump_locks()
Handy for dumping held locks in gdb w/ 'p lockdep_dump_lock()'
Sage Weil [Mon, 1 Dec 2008 18:13:00 +0000 (10:13 -0800)]
rwlock: try_get_read, try_get_write
Sage Weil [Mon, 1 Dec 2008 15:13:30 +0000 (07:13 -0800)]
osd: optionally avoid zeroing trimmed log on disk
This is a half-hearted attempt to keep old PG log content around. It'll
still be lost if a PG moves to another node or the entire log is written
to disk for some other reason.
Yehuda Sadeh [Mon, 1 Dec 2008 20:36:37 +0000 (12:36 -0800)]
kclient: fix bad check
Yehuda Sadeh [Mon, 1 Dec 2008 19:39:00 +0000 (11:39 -0800)]
kclient: slient down some log message
Sage Weil [Mon, 1 Dec 2008 04:42:44 +0000 (20:42 -0800)]
osd: skip peer_info on down osds
We don't clean old/down OSDs out of peer_info map, since we may not
restart peering when strays go up/down. That's fine... just make sure
we ignore them later.
Sage Weil [Mon, 1 Dec 2008 04:41:50 +0000 (20:41 -0800)]
osd: remove bad PG::put() assertion
Sage Weil [Sun, 30 Nov 2008 21:06:37 +0000 (13:06 -0800)]
osd: fix lock inversion on workqueue shutdown
Simplify PG get/put vs lock/unlock. Since we are reference counting with
an atomic_t, we don't need to re-use PG::lock to protect the reference
count.
Sage Weil [Thu, 27 Nov 2008 16:34:52 +0000 (08:34 -0800)]
todo
Sage Weil [Thu, 27 Nov 2008 16:34:43 +0000 (08:34 -0800)]
workqueue: deliberately leak string with lock name
Lockdep assumes strings are statically allocated.
Ariela [Thu, 27 Nov 2008 01:17:05 +0000 (17:17 -0800)]
Merge branch 'unstable' of ssh://yehudasa@ceph.newdream.net/git/ceph into unstable
Ariela [Thu, 27 Nov 2008 01:16:43 +0000 (17:16 -0800)]
wireshark: update for win32
Sage Weil [Thu, 27 Nov 2008 00:20:48 +0000 (16:20 -0800)]
osd: fix bad sub_op_push assertion; only write data we need
We adjust the pushed buffer so that we only write the portions
of it that we can't clone.
Sage Weil [Thu, 27 Nov 2008 00:42:01 +0000 (16:42 -0800)]
objectcacher: only call flushed callback if there are also no dirty buffers
Otherwise we call the flushed_callback too soon.
Sage Weil [Thu, 27 Nov 2008 00:32:29 +0000 (16:32 -0800)]
mds: fix up loner_cap whenever we manually change filelock state
This is kind of a pain.
Sage Weil [Wed, 26 Nov 2008 22:35:56 +0000 (14:35 -0800)]
osd: clean up touch() calls to use exists bool
We only need to touch of the head object itself doesn't exist.
Do so far all ops. This works cleanly despite any op munging
above.
Sage Weil [Wed, 26 Nov 2008 22:35:02 +0000 (14:35 -0800)]
objectstore: fix touch()
Wrong opcode meant skewed args, and all kinds of badness.
Sage Weil [Wed, 26 Nov 2008 21:50:33 +0000 (13:50 -0800)]
mon: instruct individual pgs to scrub
Factor out pg parsing into pg_t.
Sage Weil [Wed, 26 Nov 2008 21:42:17 +0000 (13:42 -0800)]
osd: debug write_info a bit, clean up Transaction cruft
Sage Weil [Wed, 26 Nov 2008 21:41:14 +0000 (13:41 -0800)]
osd: initiate scrub via monitor message
Sage Weil [Wed, 26 Nov 2008 20:39:36 +0000 (12:39 -0800)]
objecter: scan_pgs even on original full map
We may have queued ops before getting _any_ map; those still need to
be kicked.