]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 years agomds: misc filelock fixes
Sage Weil [Fri, 19 Dec 2008 22:53:43 +0000 (14:53 -0800)]
mds: misc filelock fixes

16 years agomds: auth_pin rdlocks too
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... :/

16 years agokclient: make mdsmap_decode print nicer info
Sage Weil [Fri, 19 Dec 2008 22:27:36 +0000 (14:27 -0800)]
kclient: make mdsmap_decode print nicer info

16 years agokclient: update num_fwd in client requests
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)!

16 years agokclient: allow mds to force open a client session
Sage Weil [Fri, 19 Dec 2008 22:24:35 +0000 (14:24 -0800)]
kclient: allow mds to force open a client session

16 years agomds: don't bump to sync if dir and subtree root
Sage Weil [Fri, 19 Dec 2008 21:54:42 +0000 (13:54 -0800)]
mds: don't bump to sync if dir and subtree root

16 years agomds: fix file_wrlock_start waiting
Sage Weil [Fri, 19 Dec 2008 21:54:17 +0000 (13:54 -0800)]
mds: fix file_wrlock_start waiting

16 years agomds: filelock typo in can_rdlock
Sage Weil [Fri, 19 Dec 2008 21:01:29 +0000 (13:01 -0800)]
mds: filelock typo in can_rdlock

16 years agomds: cleanup
Sage Weil [Thu, 18 Dec 2008 20:12:37 +0000 (12:12 -0800)]
mds: cleanup

16 years agovstart: 1 mds
Sage Weil [Thu, 18 Dec 2008 20:12:33 +0000 (12:12 -0800)]
vstart: 1 mds

16 years agomds: check_inode_max_size only change filelock state if needed
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.

16 years agokclient: ICONTENT -> IFILE
Sage Weil [Thu, 18 Dec 2008 20:01:23 +0000 (12:01 -0800)]
kclient: ICONTENT -> IFILE

16 years agovstart: start 3 mdss
Sage Weil [Thu, 18 Dec 2008 19:31:43 +0000 (11:31 -0800)]
vstart: start 3 mdss

16 years agomds: basic filelock fixes
Sage Weil [Thu, 18 Dec 2008 19:31:36 +0000 (11:31 -0800)]
mds: basic filelock fixes

16 years agomon: add multiple mds's at once
Sage Weil [Thu, 18 Dec 2008 18:53:34 +0000 (10:53 -0800)]
mon: add multiple mds's at once

16 years agomds: kill the dirlock
Sage Weil [Thu, 18 Dec 2008 18:36:47 +0000 (10:36 -0800)]
mds: kill the dirlock

16 years agomds: make filelock a scatterlock child; move wrlock into simplelock
Sage Weil [Thu, 18 Dec 2008 18:12:43 +0000 (10:12 -0800)]
mds: make filelock a scatterlock child; move wrlock into simplelock

16 years agomds: fix mixed_sync state; send replica mixed state to primary as needed
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

16 years agomds: message include cleanup
Sage Weil [Thu, 18 Dec 2008 00:00:33 +0000 (16:00 -0800)]
mds: message include cleanup

16 years agomds: fix up filelock states
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.

16 years agomds: new FileLock lock->sync state
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.

16 years agomds: rename gather lock states
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"

16 years agomds: include max mds in mdsmap summary
Sage Weil [Tue, 23 Dec 2008 19:44:40 +0000 (11:44 -0800)]
mds: include max mds in mdsmap summary

16 years agomds: fix standby_replay on startup
Sage Weil [Tue, 23 Dec 2008 19:44:28 +0000 (11:44 -0800)]
mds: fix standby_replay on startup

16 years agoremove uninitialized warnings
Yehuda Sadeh [Mon, 22 Dec 2008 23:20:27 +0000 (15:20 -0800)]
remove uninitialized warnings

16 years agoosd: gracefully exit when create_object_store() returns NULL
Yehuda Sadeh [Mon, 22 Dec 2008 21:13:20 +0000 (13:13 -0800)]
osd: gracefully exit when create_object_store() returns NULL

16 years agoosd: inc_lock attr is optional
Sage Weil [Mon, 22 Dec 2008 17:01:48 +0000 (09:01 -0800)]
osd: inc_lock attr is optional

16 years agoosd: update pg degraded stats only when active
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.

16 years agoosd: initialize generate_backlog_epoch
Sage Weil [Mon, 22 Dec 2008 06:07:33 +0000 (22:07 -0800)]
osd: initialize generate_backlog_epoch

16 years agoosd: clear_prior when activating
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.

16 years agoosd: clear backlog flag when done
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.

16 years agoosd: only update degraded object stats after peering
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.

16 years agoosd: clear STATE_PEERING during replay
Sage Weil [Fri, 19 Dec 2008 00:46:07 +0000 (16:46 -0800)]
osd: clear STATE_PEERING during replay

16 years agoosd: safely encode all other attributes
Sage Weil [Fri, 19 Dec 2008 00:45:56 +0000 (16:45 -0800)]
osd: safely encode all other attributes

16 years agoosd: properly encode ondisklog attr
Sage Weil [Fri, 19 Dec 2008 00:01:41 +0000 (16:01 -0800)]
osd: properly encode ondisklog attr

Also combine into a single attr.

16 years agobuffer: optionally preallocate some append_buffer
Sage Weil [Thu, 18 Dec 2008 23:24:00 +0000 (15:24 -0800)]
buffer: optionally preallocate some append_buffer

16 years agomake time format easier to read
Sage Weil [Thu, 18 Dec 2008 19:32:08 +0000 (11:32 -0800)]
make time format easier to read

16 years agoceph: terminate dumped output
Sage Weil [Thu, 18 Dec 2008 00:48:38 +0000 (16:48 -0800)]
ceph: terminate dumped output

16 years agomon: tell stdout where the monmap came from
Sage Weil [Wed, 17 Dec 2008 19:21:59 +0000 (11:21 -0800)]
mon: tell stdout where the monmap came from

16 years agodstart: cm.txt update (for 3x)
Sage Weil [Mon, 15 Dec 2008 20:49:57 +0000 (12:49 -0800)]
dstart: cm.txt update (for 3x)

16 years agoceph: fix observe renewal; ack by paxos
Sage Weil [Wed, 17 Dec 2008 23:32:14 +0000 (15:32 -0800)]
ceph: fix observe renewal; ack by paxos

16 years agotodo
Sage Weil [Wed, 17 Dec 2008 22:06:15 +0000 (14:06 -0800)]
todo

16 years agoverify-mds-journal: periodically verify mds replay; stop if error
Sage Weil [Wed, 17 Dec 2008 21:37:34 +0000 (13:37 -0800)]
verify-mds-journal: periodically verify mds replay; stop if error

16 years agomds: only standby-replay when explicitly requested on startup.
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.

16 years agomds: basic standby-replay hack
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.

16 years agomon: replace laggy standby-replay nodes too
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...

16 years agomon: mark extra standby mds's as standby-replay
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...

16 years agoosd: enable queue_generate_backlog on pg query
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.

16 years agomds: fix mdsmap dump
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.

16 years agomsgr: stop accepter on socket error
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.

16 years agomds: restructure mds map, clean up mdsmon
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.

16 years agomon: clean up mdsmon a bit; do takeovers from tick(), not _committed()
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.

16 years agomon: blacklist failed mds
Sage Weil [Tue, 16 Dec 2008 18:45:10 +0000 (10:45 -0800)]
mon: blacklist failed mds

16 years agomon: expire old blacklist items (osdmap change)
Sage Weil [Tue, 16 Dec 2008 18:41:55 +0000 (10:41 -0800)]
mon: expire old blacklist items (osdmap change)

16 years agoosd: clean out acker cruft
Sage Weil [Wed, 10 Dec 2008 23:25:30 +0000 (15:25 -0800)]
osd: clean out acker cruft

16 years agorev protocol, mon disk formats due to mdsmap change
Sage Weil [Mon, 15 Dec 2008 23:41:08 +0000 (15:41 -0800)]
rev protocol, mon disk formats due to mdsmap change

16 years agomon: mdsmap infrastructure for standby states, up:standby-replay
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.

16 years agoosd: fix pg stat reporting
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.

16 years agoosd: do delayed activation after replay via a queue, not timer event
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.

16 years agoosd: take osd_lock in generate_backlog before peer()
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.

16 years agomds cleanup
Sage Weil [Tue, 16 Dec 2008 19:32:44 +0000 (11:32 -0800)]
mds cleanup

16 years agomds: add logclient
Sage Weil [Tue, 16 Dec 2008 19:25:21 +0000 (11:25 -0800)]
mds: add logclient

16 years agologclient: adjust link_dispatcher; add unlink_dispatcher
Sage Weil [Tue, 16 Dec 2008 19:25:14 +0000 (11:25 -0800)]
logclient: adjust link_dispatcher; add unlink_dispatcher

16 years agotodos
Sage Weil [Tue, 16 Dec 2008 18:56:53 +0000 (10:56 -0800)]
todos

16 years agomds: remove follows==0 special cases
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.

16 years agomds: when recovering size, don't munge up projected->size; use new_size
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

16 years agomds: update rbytes with size on truncate, etc.
Sage Weil [Mon, 15 Dec 2008 23:56:51 +0000 (15:56 -0800)]
mds: update rbytes with size on truncate, etc.

16 years agomon: send mdsmap on beacon from mds not in the map
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.

16 years agomon: clean up mds failure output
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.

16 years agomon: immediately propose after 'osd setmap'
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.

16 years agoupdate debian, spec files to reflect cmonctl->ceph rename
Sage Weil [Mon, 15 Dec 2008 20:33:10 +0000 (12:33 -0800)]
update debian, spec files to reflect cmonctl->ceph rename

16 years agoceph: allow > and < to redirect command input/output
Sage Weil [Mon, 15 Dec 2008 20:00:17 +0000 (12:00 -0800)]
ceph: allow > and < to redirect command input/output

16 years agoceph: fold cobserver into ceph
Sage Weil [Mon, 15 Dec 2008 19:45:10 +0000 (11:45 -0800)]
ceph: fold cobserver into ceph

16 years agotodo
Sage Weil [Mon, 15 Dec 2008 19:34:11 +0000 (11:34 -0800)]
todo

16 years agomds: mark new directories new in journal; add to new list on replay
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.

16 years agocobserver: usage
Sage Weil [Mon, 15 Dec 2008 19:17:36 +0000 (11:17 -0800)]
cobserver: usage

16 years agorename cmonctl -> ceph
Sage Weil [Mon, 15 Dec 2008 19:15:55 +0000 (11:15 -0800)]
rename cmonctl -> ceph

16 years agocobserver: retry if when no response on startup
Yehuda Sadeh [Mon, 15 Dec 2008 19:21:33 +0000 (11:21 -0800)]
cobserver: retry if when no response on startup

16 years agovstart.sh: can specify mon address
Yehuda Sadeh [Mon, 15 Dec 2008 18:45:08 +0000 (10:45 -0800)]
vstart.sh: can specify mon address

16 years agoosd: add missing declaration
Yehuda Sadeh [Mon, 15 Dec 2008 17:54:50 +0000 (09:54 -0800)]
osd: add missing declaration

16 years agovstart: debug pg reporting
Sage Weil [Mon, 15 Dec 2008 05:40:21 +0000 (21:40 -0800)]
vstart: debug pg reporting

16 years agoosd: generate_backlog asynchronously in a work queue; simplify peering a bit
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.

16 years agoosd: half-finished backlog_wq
Sage Weil [Fri, 12 Dec 2008 05:12:42 +0000 (21:12 -0800)]
osd: half-finished backlog_wq

16 years agocrush: don't recurse to leaf unless item is a bucket
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').

16 years agoosd: shift generate_backlog out of merge_log
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.

16 years agoosd: for remaining peers, pull either log or backlog, but not both.
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.

16 years agoosd: comment clean up
Sage Weil [Fri, 12 Dec 2008 23:12:42 +0000 (15:12 -0800)]
osd: comment clean up

16 years agodstart: 3x replication
Sage Weil [Fri, 12 Dec 2008 23:12:31 +0000 (15:12 -0800)]
dstart: 3x replication

16 years agoosd: simplify peer code a bit
Sage Weil [Fri, 12 Dec 2008 23:02:55 +0000 (15:02 -0800)]
osd: simplify peer code a bit

Combine the two loops.

16 years agoosd: simplify master log recreation; fix up Log::copy_after
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).

16 years agovstart.sh/stop.sh can start and stop specific modules
Yehuda Sadeh [Fri, 12 Dec 2008 22:51:40 +0000 (14:51 -0800)]
vstart.sh/stop.sh can start and stop specific modules

16 years agodstop: kill crun too
Sage Weil [Fri, 12 Dec 2008 22:07:49 +0000 (14:07 -0800)]
dstop: kill crun too

16 years agoosd: move max_rep back to 3x
Sage Weil [Fri, 12 Dec 2008 22:07:40 +0000 (14:07 -0800)]
osd: move max_rep back to 3x

16 years agoosd: rewrite proc_replica_log
Sage Weil [Fri, 12 Dec 2008 05:10:43 +0000 (21:10 -0800)]
osd: rewrite proc_replica_log

After we have the master log, our only real purpose with other peer/stray
logs is to update replica missing maps and to find any missing objects.
Rewrite the log handling to clearly do that, with some comments.

16 years agoosd: fix merge_old_entry bug
Sage Weil [Fri, 12 Dec 2008 05:11:38 +0000 (21:11 -0800)]
osd: fix merge_old_entry bug

We want to revise_need to the _new_ entry's version, not the old one
(which is what missing already refers to).

16 years agoosd: small peer cleanup
Sage Weil [Fri, 12 Dec 2008 00:06:16 +0000 (16:06 -0800)]
osd: small peer cleanup

Make sure we check peer_log_requested and peer_summary_requested
independently, depending on which we want.  Move 'since'
calculation to where it is needed.

16 years agotodos
Sage Weil [Fri, 12 Dec 2008 05:13:02 +0000 (21:13 -0800)]
todos

16 years agocobserver: print all log entries in each state
Sage Weil [Thu, 11 Dec 2008 22:06:57 +0000 (14:06 -0800)]
cobserver: print all log entries in each state

16 years agoosd: initialize all MOSDSubOp fields
Sage Weil [Thu, 11 Dec 2008 22:03:18 +0000 (14:03 -0800)]
osd: initialize all MOSDSubOp fields

16 years agomon: fix up MLog constructor
Sage Weil [Thu, 11 Dec 2008 22:03:07 +0000 (14:03 -0800)]
mon: fix up MLog constructor

Initialize 'last'.  More idiot proof.