]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
15 years agoqa: add snaptest-snap-rm-cmp
Sage Weil [Wed, 18 Aug 2010 20:44:34 +0000 (13:44 -0700)]
qa: add snaptest-snap-rm-cmp

This (usually) reproduced a bug where:

 - we write a big file
 - snap it
 - remove it.  this makes the mds cow it.
 - cp the snapped version.
   - mds syncs the head
   - client starts writeback
   - (sometimes!) client sends other caps back to the mds
     - mds does null flushsnap, not realizing a real one is still coming

15 years agomds: remove forward-on-nonauth-rdlock behavior
Sage Weil [Wed, 18 Aug 2010 20:16:57 +0000 (13:16 -0700)]
mds: remove forward-on-nonauth-rdlock behavior

The problem is that we may be rdlocking items with a different auth than
the main item we are modifying, so forwarding based on lock state is
inconsistent with our requirement that we be on the modified item's auth.

Either we can somehow mark whether the locked item is the "main thing" we
are operating on, or we can drop the forward behavior from the locker and
put any forwarding heuristics elsewhere.  I'm opting for the latter.

15 years agomds: oops, fix null snapflush fix
Sage Weil [Wed, 18 Aug 2010 17:38:40 +0000 (10:38 -0700)]
mds: oops, fix null snapflush fix

15 years agomds: clean up {have,get}_inode() definitions
Sage Weil [Wed, 18 Aug 2010 17:18:33 +0000 (10:18 -0700)]
mds: clean up {have,get}_inode() definitions

15 years agomds: fix null snapflush inode lookup
Sage Weil [Wed, 18 Aug 2010 17:18:21 +0000 (10:18 -0700)]
mds: fix null snapflush inode lookup

Don't use pick_inode_snap is totally wrong (it depends on the current set
of snaps, etc.).. look up the inode directly via the ino and last snapid,
which we have.  Fixes a failure at the assert.

Reported-by: Thomas Mueller <thomas@chaschperli.ch>
Signed-off-by: Sage Weil <sage@newdream.net>
15 years agorgw: fix commit warning.
Greg Farnum [Wed, 18 Aug 2010 17:27:48 +0000 (10:27 -0700)]
rgw: fix commit warning.
size_t is a long unsigned, not a long long unsigned.

15 years agoqa: add simple snaprealm test script.
Greg Farnum [Tue, 17 Aug 2010 21:24:46 +0000 (14:24 -0700)]
qa: add simple snaprealm test script.

15 years agomds: handle no flushsnap
Sage Weil [Tue, 17 Aug 2010 23:38:20 +0000 (16:38 -0700)]
mds: handle no flushsnap

We won't get a flushsnap when the client has EXCL/WR caps but no dirty
data.  The MDS needs to release the snapped inode's locks when it gets a
normal update but no FLUSHSNAP.

15 years agoqa: snaptest-capwb check no snapflush case first
Sage Weil [Tue, 17 Aug 2010 21:23:19 +0000 (14:23 -0700)]
qa: snaptest-capwb check no snapflush case first

15 years agoqa: snaptest-upchildreams.sh should clean up after itself
Sage Weil [Tue, 17 Aug 2010 21:22:56 +0000 (14:22 -0700)]
qa: snaptest-upchildreams.sh should clean up after itself

15 years agoqa: add capwb check for case where client doesn't send flushsnap
Sage Weil [Tue, 17 Aug 2010 19:47:36 +0000 (12:47 -0700)]
qa: add capwb check for case where client doesn't send flushsnap

15 years agomds: fix rdlock referral on snapped inode to head
Sage Weil [Tue, 17 Aug 2010 19:47:19 +0000 (12:47 -0700)]
mds: fix rdlock referral on snapped inode to head

Note: this still needs some fixing, as the head and snapped inodes may be
on different MDSs!

15 years agomds: drop x/wrlocks before, rdlocks after sending reply
Sage Weil [Tue, 17 Aug 2010 19:16:02 +0000 (12:16 -0700)]
mds: drop x/wrlocks before, rdlocks after sending reply

This lets us issue the most leases/caps possible.  It also ensure we can
issue caps in the snapped namespace when we are still on the head inode
(previously, releasing the rdlock twiddled the state, the client didn't
get say Frc, and hung indefinitely).

15 years agoclient: direct requests in snapped namespace based on nonsnap parent
Sage Weil [Tue, 17 Aug 2010 18:50:38 +0000 (11:50 -0700)]
client: direct requests in snapped namespace based on nonsnap parent

We fixed snapdir before.. but we need to do the same for the entire snapped
portion of the namespace.

15 years agoqa: add snaptest-estale.sh
Sage Weil [Tue, 17 Aug 2010 18:37:42 +0000 (11:37 -0700)]
qa: add snaptest-estale.sh

Verify requests withing snapped namespace are directed to the proper
MDS.  We should never get ESTALE, only ENOENT.

15 years agoqa: make snaptest-2 output less ugly
Sage Weil [Mon, 16 Aug 2010 23:45:26 +0000 (16:45 -0700)]
qa: make snaptest-2 output less ugly

15 years agomds: make inode first track dn first on rename
Sage Weil [Mon, 16 Aug 2010 23:45:14 +0000 (16:45 -0700)]
mds: make inode first track dn first on rename

This mirrors the logic in cc8f5ac47c77d1e336e16d8deb024d507e0e8c59.  Make
the renamed inode first match the destdn to avoid problems down the line.
Do this after we've (potentially) cowed the inode in the journal_cow_dentry
on srcdn.

15 years agomds: make new inodes follow dn->first
Sage Weil [Mon, 16 Aug 2010 23:01:30 +0000 (16:01 -0700)]
mds: make new inodes follow dn->first

We can get a dn->first that is greater than the parent dir's seq.  Notably,
when we do something like

 mkdir foo
 mkdir foo/.snap/a
 rmdir foo/.snap/a
 rmdir foo

Here, the foo dentry has a high seq, and subsequent mkdir foo should make
sure we give the new foo dir inode the same seq (and not a lower one from
the parent).  Otherwise, things get confused later on.

15 years agomds: flush log on cap writeback if !dirty and unstable locks
Sage Weil [Mon, 16 Aug 2010 21:27:34 +0000 (14:27 -0700)]
mds: flush log on cap writeback if !dirty and unstable locks

The problem is if we revoke caps, nothing is dirty, but we do writeback
because we are adjusting max_size.  Then we have to wait for the log to
flush even though the revocation should proceed immediately.  To move
things along, flush the log immediately.

This still isn't ideal.. it would be nice to allow the locking to continue
and adjust max_size in parallel, but that isn't always possible, and will
require some more thought.

15 years agomds: show cdentry authpin debug state
Sage Weil [Mon, 16 Aug 2010 21:03:40 +0000 (14:03 -0700)]
mds: show cdentry authpin debug state

15 years agoqa: show rm/cp progress on snaptest-2
Sage Weil [Mon, 16 Aug 2010 21:03:19 +0000 (14:03 -0700)]
qa: show rm/cp progress on snaptest-2

15 years agoqa: add test that client updates realm children on snap update
Sage Weil [Mon, 16 Aug 2010 20:35:54 +0000 (13:35 -0700)]
qa: add test that client updates realm children on snap update

15 years agoclient: correctly direct snapdir requests
Sage Weil [Mon, 16 Aug 2010 18:22:45 +0000 (11:22 -0700)]
client: correctly direct snapdir requests

Use real dir (and its caps), not the virtual snapdir.

15 years agoqa: add snap-rm-diff.sh to look for issues with snapshot integrity.
Greg Farnum [Mon, 16 Aug 2010 18:48:12 +0000 (11:48 -0700)]
qa: add snap-rm-diff.sh to look for issues with snapshot integrity.
Currently passes the script, although running these steps manually
(especially with smaller files) fails a fair percentage of the time for me.

15 years agomds: only kick head on snap rdlock if in SNAP_SYNC state
Sage Weil [Fri, 13 Aug 2010 21:20:39 +0000 (14:20 -0700)]
mds: only kick head on snap rdlock if in SNAP_SYNC state

We may, e.g., be in the SCAN state, which is totally unrelated to the
head!

15 years agomonclient: gracefully error out when given an invalid monmap path
Sage Weil [Mon, 16 Aug 2010 02:49:17 +0000 (19:49 -0700)]
monclient: gracefully error out when given an invalid monmap path

15 years agoosd: update missing_loc earlier in push
Sage Weil [Tue, 10 Aug 2010 22:31:29 +0000 (15:31 -0700)]
osd: update missing_loc earlier in push

This just avoids l=-1 from showing up in the logs, makes the logic a bit
cleaner (keeps missing and missing_loc in sync).

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agodebian: fix tcmalloc dependency
Sage Weil [Fri, 13 Aug 2010 22:12:34 +0000 (15:12 -0700)]
debian: fix tcmalloc dependency

Depend on libgoogle-perftools0, not libtcmalloc-minimal0, since we link
against libtcmalloc, not libtcmalloc-minimal.  Duh.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoMerge branch 'tcmalloc' into unstable
Sage Weil [Thu, 12 Aug 2010 23:32:42 +0000 (16:32 -0700)]
Merge branch 'tcmalloc' into unstable

15 years agoceph.spec.in: require, build with tcmalloc
Sage Weil [Thu, 12 Aug 2010 23:32:10 +0000 (16:32 -0700)]
ceph.spec.in: require, build with tcmalloc

15 years agodebian: require tcmalloc
Sage Weil [Thu, 12 Aug 2010 23:32:01 +0000 (16:32 -0700)]
debian: require tcmalloc

15 years agomds: only kick head on snap rdlock if auth
Sage Weil [Thu, 12 Aug 2010 20:28:47 +0000 (13:28 -0700)]
mds: only kick head on snap rdlock if auth

- If we are non-auth, stick with the snap, and the auth will do the
inference.
- If we are auth, the head had better exist, because our lock is
pinned in an unreadable state for some reason.  Assert as much.

15 years agoMerge branch 'testing' into unstable
Sage Weil [Thu, 12 Aug 2010 20:10:44 +0000 (13:10 -0700)]
Merge branch 'testing' into unstable

15 years agofilestore: fix throttling on journal, op_queue for parallel and writeahead
Sage Weil [Thu, 12 Aug 2010 20:10:00 +0000 (13:10 -0700)]
filestore: fix throttling on journal, op_queue for parallel and writeahead

15 years agofilestore: fix race in op enqueuing to ensure throttle limit is honors
Sage Weil [Thu, 12 Aug 2010 19:59:05 +0000 (12:59 -0700)]
filestore: fix race in op enqueuing to ensure throttle limit is honors

15 years agoobjectstore: fix transaction get_num_bytes
Sage Weil [Thu, 12 Aug 2010 19:58:25 +0000 (12:58 -0700)]
objectstore: fix transaction get_num_bytes

The separate bytes field isn't used; use encoded bytes count for now.

15 years agomon: mon_clock_drift_* for consistency
Sage Weil [Thu, 12 Aug 2010 19:05:48 +0000 (12:05 -0700)]
mon: mon_clock_drift_* for consistency

15 years agoMerge branch 'testing' into unstable
Sage Weil [Thu, 12 Aug 2010 18:57:43 +0000 (11:57 -0700)]
Merge branch 'testing' into unstable

15 years agomsg: use RefCountedObject; overload get() only to cast return type
Sage Weil [Thu, 12 Aug 2010 18:53:55 +0000 (11:53 -0700)]
msg: use RefCountedObject; overload get() only to cast return type

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoosd: whitespace
Sage Weil [Thu, 12 Aug 2010 18:53:24 +0000 (11:53 -0700)]
osd: whitespace

15 years agoosd: improve l_osd_buf accuracy
Sage Weil [Thu, 12 Aug 2010 18:53:14 +0000 (11:53 -0700)]
osd: improve l_osd_buf accuracy

15 years agobuffer: fix/improve debug
Sage Weil [Thu, 12 Aug 2010 18:52:45 +0000 (11:52 -0700)]
buffer: fix/improve debug

15 years agomsgr: don't leak message when sending to a closed connection
Sage Weil [Thu, 12 Aug 2010 18:52:06 +0000 (11:52 -0700)]
msgr: don't leak message when sending to a closed connection

15 years agoosd: log push ops as push, not pull
Sage Weil [Thu, 12 Aug 2010 17:36:13 +0000 (10:36 -0700)]
osd: log push ops as push, not pull

15 years agologger: fix logger counter reset
Sage Weil [Thu, 12 Aug 2010 17:36:00 +0000 (10:36 -0700)]
logger: fix logger counter reset

Reset inc keys after each line; reset all keys on full reset.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoMerge branch 'testing' into unstable
Sage Weil [Wed, 11 Aug 2010 23:19:56 +0000 (16:19 -0700)]
Merge branch 'testing' into unstable

Conflicts:
configure.ac

15 years agoceph v0.21.1 v0.21.1
Sage Weil [Wed, 11 Aug 2010 21:59:19 +0000 (14:59 -0700)]
ceph v0.21.1

15 years agomon: use elector's epoch
Sage Weil [Wed, 11 Aug 2010 20:30:48 +0000 (13:30 -0700)]
mon: use elector's epoch

This fixes a race with successive elections: we may see a new election
(X+1), then get a victory (X).  The victory is ignored (rightly so).  But
then a paxos follows that which assumes X, and our check was against
mon_epoch, only updated on election victory.. and we are inconsistent and
crash.

So, just get rid of private mon_epoch and use the elector's value.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoMakefile: include logrotate.conf in tarball
Sage Weil [Wed, 11 Aug 2010 19:29:46 +0000 (12:29 -0700)]
Makefile: include logrotate.conf in tarball

15 years agodebian: fix update_pbuilder.sh
Sage Weil [Wed, 11 Aug 2010 17:46:31 +0000 (10:46 -0700)]
debian: fix update_pbuilder.sh

15 years agomon: rename mon_lease_wiggle_room -> mon_allowed_clock_drift
Greg Farnum [Wed, 11 Aug 2010 17:37:14 +0000 (10:37 -0700)]
mon: rename mon_lease_wiggle_room -> mon_allowed_clock_drift

15 years agomon: backoff clock drift warnings
Greg Farnum [Wed, 11 Aug 2010 16:49:29 +0000 (09:49 -0700)]
mon: backoff clock drift warnings

15 years agoosd: write (empty) log, bounds on remove_pg start
Sage Weil [Wed, 11 Aug 2010 17:05:18 +0000 (10:05 -0700)]
osd: write (empty) log, bounds on remove_pg start

This zeros the log, and the bounds, when we start pg removal.  Previously
we just removed the log and didn't write the (empty) bounds, breaking
cosd startup later when the old bounds are totally wrong.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agorgw: fix content length encoding
Yehuda Sadeh [Tue, 10 Aug 2010 20:37:58 +0000 (13:37 -0700)]
rgw: fix content length encoding

15 years agofilestore: flush using sync(2) hammer
Sage Weil [Sun, 8 Aug 2010 15:59:59 +0000 (08:59 -0700)]
filestore: flush using sync(2) hammer

Since we can't easily detect ext3 (let alone whether we have data=journal),
by default use sync(2) as an overly large hammer to flush all prior applied
ops to disk.  If the option is explicitly enabled, use fsync(2) on a
file to implicitly flush the journal and prior writes.  Admins should only
enable this if they have ext2 in data=journal mode.

15 years agotcmalloc: add support for tcmalloc.
Greg Farnum [Fri, 6 Aug 2010 21:47:06 +0000 (14:47 -0700)]
tcmalloc: add support for tcmalloc.

Right now it's only used on the MDS and OSD, but it can be added to mons too.

15 years agomds: don't try to recover filelocks if the client didn't encode any
Greg Farnum [Fri, 6 Aug 2010 21:58:23 +0000 (14:58 -0700)]
mds: don't try to recover filelocks if the client didn't encode any

15 years agoosd: simplify class waiter list
Sage Weil [Fri, 6 Aug 2010 18:42:33 +0000 (11:42 -0700)]
osd: simplify class waiter list

No reason to break it down by pg_t?

15 years agorgw: make gateway dns name configurable
Yehuda Sadeh [Fri, 6 Aug 2010 21:13:21 +0000 (14:13 -0700)]
rgw: make gateway dns name configurable

15 years agoclient: fill in num_fwd in messages to mds
Greg Farnum [Fri, 6 Aug 2010 20:41:15 +0000 (13:41 -0700)]
client: fill in num_fwd in messages to mds

15 years agoosd: class load shouldn't hang when failed to load
Yehuda Sadeh [Fri, 6 Aug 2010 19:46:07 +0000 (12:46 -0700)]
osd: class load shouldn't hang when failed to load

Fixes bug #332. This happened if either the class existed, and it was either
corrupted, or failed to load from any other reason.

15 years agoqa: echo output
Sage Weil [Fri, 6 Aug 2010 18:27:15 +0000 (11:27 -0700)]
qa: echo output

15 years agoMerge branch 'snap_cap' into unstable
Sage Weil [Fri, 6 Aug 2010 18:34:57 +0000 (11:34 -0700)]
Merge branch 'snap_cap' into unstable

15 years agoMerge branch 'testing' into unstable
Sage Weil [Fri, 6 Aug 2010 18:34:53 +0000 (11:34 -0700)]
Merge branch 'testing' into unstable

15 years agomds: fix send_message_client_counted helper
Sage Weil [Fri, 6 Aug 2010 17:07:46 +0000 (10:07 -0700)]
mds: fix send_message_client_counted helper

Don't use the outgoing message connection (usually there is none!).. use
the connection argument.  Der.  Broken since 6d770abe.

15 years agomon: add 'mds compat rm_* id' commands to adjust mdsmap compat set
Sage Weil [Fri, 6 Aug 2010 16:56:34 +0000 (09:56 -0700)]
mon: add 'mds compat rm_* id' commands to adjust mdsmap compat set

This'll be helpful if someone inadvertantly starts up a new cmds, the
compat set updates, and then they can't start old cmds instances.

Of course, that will only work if the new cmds didn't write any new format
metadata!

15 years agomon: automatically incorporate new incompat features into mdsmap
Sage Weil [Thu, 5 Aug 2010 23:49:07 +0000 (16:49 -0700)]
mon: automatically incorporate new incompat features into mdsmap

15 years agomds: include compatset in beacon message
Sage Weil [Thu, 5 Aug 2010 23:48:26 +0000 (16:48 -0700)]
mds: include compatset in beacon message

15 years agomds: add incompat clientranges bit for the format change
Sage Weil [Thu, 5 Aug 2010 23:48:16 +0000 (16:48 -0700)]
mds: add incompat clientranges bit for the format change

15 years agoqa: add snap test for cap writeback
Sage Weil [Thu, 5 Aug 2010 23:16:02 +0000 (16:16 -0700)]
qa: add snap test for cap writeback

This used to fail/hang before the cap cloning business was fixed up.

15 years agomds: non-head requests always rdlock as_anon
Sage Weil [Thu, 5 Aug 2010 23:05:46 +0000 (16:05 -0700)]
mds: non-head requests always rdlock as_anon

This ensures we can't do a snapped GETATTR and rdlock with EXCL on a
directory and miss out on cap metadata still with the client.

15 years agomds: write flushsnap cap metadata into old_inode if appropriate
Sage Weil [Thu, 5 Aug 2010 21:52:40 +0000 (14:52 -0700)]
mds: write flushsnap cap metadata into old_inode if appropriate

Don't have a test case for this yet, unfortunately, but it looks
straightforward at least. :)

15 years agomds: ensure that rdlock on snap filelock flushes data
Sage Weil [Thu, 5 Aug 2010 21:09:53 +0000 (14:09 -0700)]
mds: ensure that rdlock on snap filelock flushes data

Do the head filelock sync 'anonymously', so that we can_rdlock(-1) (no
particular client) and thus can't rdlock in the EXCL state.

15 years agomds: rdlock head when snapped inode is snap->sync
Sage Weil [Thu, 5 Aug 2010 21:01:59 +0000 (14:01 -0700)]
mds: rdlock head when snapped inode is snap->sync

15 years agomds: do not clone caps to snapped inodes
Sage Weil [Thu, 5 Aug 2010 20:08:22 +0000 (13:08 -0700)]
mds: do not clone caps to snapped inodes

Instead, explicitly track which locks need to be flushed (via a FLUSHSNAP)
with a LOCK_SNAP_SYNC lock state.

Restructures the handle_client_caps.

Also changes the client ranges format in the inode to keep a follows for
each client (basically 'flushed through') so that the client ranges can
get cleaned out later when it gets cowed.

15 years agomds: group finishers after eval_cap_gather does all locks
Sage Weil [Thu, 5 Aug 2010 19:23:43 +0000 (12:23 -0700)]
mds: group finishers after eval_cap_gather does all locks

This will reduce some churn, since we can update all the lock states before
worrying about anyone trying to take more than one (and failing, again).

15 years agoconfig: set osd_min_down_reports to 3.
Greg Farnum [Thu, 5 Aug 2010 18:36:15 +0000 (11:36 -0700)]
config: set osd_min_down_reports to 3.

15 years agoosd: only access failure_queue while under heartbeat_lock.
Greg Farnum [Thu, 5 Aug 2010 17:22:39 +0000 (10:22 -0700)]
osd: only access failure_queue while under heartbeat_lock.

15 years agoosd: Adjust failure reporting.
Greg Farnum [Thu, 5 Aug 2010 16:48:41 +0000 (09:48 -0700)]
osd: Adjust failure reporting.

When a failure report is sent to the mon, the failed OSD is added to
pending_failures. If the OSD gets a heartbeat from an OSD in pending_failures,
it sends an MOSDFailure message repealing the previous failure report.
If an OSD is marked as failed but a message hasn't been sent, it's simply
removed from the failed list.

15 years agoosdmon: Adjust failure reporting.
Greg Farnum [Wed, 4 Aug 2010 23:02:17 +0000 (16:02 -0700)]
osdmon: Adjust failure reporting.

MOSDFailure can now be a failure or a not-failure report. If it is a
failure, OSDMon will add it to a map of failure reports until a given OSD
exceeds the minimum reports/reporters to qualify as failed, then marks it
down.
Also, only propose new actually marking an osd failed
OSD behavior is not changed, and currently the min reports/reporters are
set to 1 so external OSDMon behavior will also stay the same.

15 years agomakefile: define docdir for old automake versions
Sage Weil [Thu, 5 Aug 2010 14:47:32 +0000 (07:47 -0700)]
makefile: define docdir for old automake versions

Notably centos5.

Reported-by: Thomas Mueller <thomas@chaschperli.ch>
Signed-off-by: Sage Weil <sage@newdream.net>
15 years agomonmaptool: man page typo fix
Haifeng Liu [Thu, 5 Aug 2010 08:16:23 +0000 (17:16 +0900)]
monmaptool: man page typo fix

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoosdmap: only decode internal addresses if map is new enough version
Greg Farnum [Wed, 4 Aug 2010 18:40:36 +0000 (11:40 -0700)]
osdmap: only decode internal addresses if map is new enough version

15 years agoMerge branch 'testing' into unstable
Sage Weil [Wed, 4 Aug 2010 17:37:09 +0000 (10:37 -0700)]
Merge branch 'testing' into unstable

15 years agorados: -i and -o are still there for other commands
Sage Weil [Wed, 4 Aug 2010 17:01:23 +0000 (10:01 -0700)]
rados: -i and -o are still there for other commands

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoceph.spec.in: fix docdir paths
Sage Weil [Wed, 4 Aug 2010 16:56:05 +0000 (09:56 -0700)]
ceph.spec.in: fix docdir paths

_docdir is /usr/share/doc, not /usr/share/doc/ceph (as it is with debian).

15 years agoceph.spec.in: fix sample.ceph.conf chown
Sage Weil [Wed, 4 Aug 2010 16:32:48 +0000 (09:32 -0700)]
ceph.spec.in: fix sample.ceph.conf chown

Reported-by: Xiaoguang Liu <syslxg@gmail.com>
15 years agorados: fix usage
Takuya ASADA [Wed, 4 Aug 2010 16:30:03 +0000 (09:30 -0700)]
rados: fix usage

15 years agoosd: fix heartbeat to/from map updates
Sage Weil [Wed, 4 Aug 2010 16:51:12 +0000 (09:51 -0700)]
osd: fix heartbeat to/from map updates

- always make _inst match _to and _from (don't adjust in note_down_osd)
- only mark down old hb connection in update_heartbeat_peers
- if old peer isn't down, send them a map
- don't print dup new/old messages

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoosd: cover map_in_progress by osd_lock instead of an individual lock.
Greg Farnum [Tue, 3 Aug 2010 23:09:53 +0000 (16:09 -0700)]
osd: cover map_in_progress by osd_lock instead of an individual lock.
The separate lock is no longer needed and removing it reduces lock contention
and makes it easier to avoid races elsewhere.

15 years agoosd: Unlock osd_lock in _dispatch before locking handle_map_lock
Greg Farnum [Tue, 3 Aug 2010 22:21:42 +0000 (15:21 -0700)]
osd: Unlock osd_lock in _dispatch before locking handle_map_lock

15 years agoosd: switching dispatch_running to be a counter
Greg Farnum [Tue, 3 Aug 2010 21:50:55 +0000 (14:50 -0700)]
osd: switching dispatch_running to be a counter
Now it works with multiple messengers dispatching.

15 years agoosd: guard _dispatch to prevent execution of new messages while the map is updating
Greg Farnum [Tue, 3 Aug 2010 21:50:24 +0000 (14:50 -0700)]
osd: guard _dispatch to prevent execution of new messages while the map is updating

15 years agoosd: adjust map_in_progress guarding
Greg Farnum [Tue, 3 Aug 2010 21:39:23 +0000 (14:39 -0700)]
osd: adjust map_in_progress guarding

15 years agocosd: adjust client/cluster messenger setup to be more consistent
Gregory Farnum [Fri, 30 Jul 2010 16:23:46 +0000 (09:23 -0700)]
cosd: adjust client/cluster messenger setup to be more consistent
and poison better

15 years agoconfig: Error out when you can't parse an addr from the config file.
Greg Farnum [Fri, 30 Jul 2010 07:28:52 +0000 (00:28 -0700)]
config: Error out when you can't parse an addr from the config file.

Also, fix up a few other addr parsing cases to break properly!

15 years agoosd: use the client_messenger for the logclient.
Greg Farnum [Thu, 29 Jul 2010 22:28:35 +0000 (15:28 -0700)]
osd: use the client_messenger for the logclient.

15 years agoosdmap: remove unused versions of get_[cluster_]inst
Greg Farnum [Thu, 29 Jul 2010 21:20:31 +0000 (14:20 -0700)]
osdmap: remove unused versions of get_[cluster_]inst

15 years agoOSD: use get_cluster_inst instead of get_inst when checking other OSD instances
Greg Farnum [Thu, 29 Jul 2010 20:58:05 +0000 (13:58 -0700)]
OSD: use get_cluster_inst instead of get_inst when checking other OSD instances

15 years agoosd: when checking OSD identities via require_same_or_newer_map, use cluster_addr
Greg Farnum [Thu, 29 Jul 2010 17:58:52 +0000 (10:58 -0700)]
osd: when checking OSD identities via require_same_or_newer_map, use cluster_addr