]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
12 years agoMakefile.am: fix libglobal.la races
Gary Lowell [Tue, 6 Aug 2013 00:57:26 +0000 (17:57 -0700)]
Makefile.am: fix libglobal.la races

Several targets had libglobal.la in the  _LDFLAGS macro definition
when it should have been in the _LDADD macro.  Remove those occurrance
and add the LIBGLOBAL_LDA macro to the targets _LDADD instead.

See related commit 71f3e56d4b2c07f5fc56522a2080f1ff101ef340

Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
12 years agodoc/release-notes: adjust whitespace
Sage Weil [Fri, 9 Aug 2013 23:15:02 +0000 (16:15 -0700)]
doc/release-notes: adjust whitespace

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodoc/release-notes: v0.67 release notes
Sage Weil [Fri, 9 Aug 2013 23:14:52 +0000 (16:14 -0700)]
doc/release-notes: v0.67 release notes

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Fri, 9 Aug 2013 23:03:27 +0000 (16:03 -0700)]
Merge remote-tracking branch 'gh/next'

12 years agoceph: retry new-style mon command if we get EINVAL from the old-style command
Sage Weil [Fri, 9 Aug 2013 22:14:56 +0000 (15:14 -0700)]
ceph: retry new-style mon command if we get EINVAL from the old-style command

We can race with a mon upgrade:

- get command descriptions, get EINVAL
- mons upgrade, new quorum
- send old-style command
- get EINVAL

In this case, we should try one last time to get the command descriptions.

Fixes: #5788
Reviewed-by: Dan Mick <dan.mick@inktank.com>
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agocommon: pick_addresses: fix bug with observer class that triggered #5205
Joao Eduardo Luis [Fri, 9 Aug 2013 21:48:15 +0000 (14:48 -0700)]
common: pick_addresses: fix bug with observer class that triggered #5205

The Observer class we defined to observe conf changes and thus avoid
triggering #5205 (as fixed by eb86eebe1ba42f04b46f7c3e3419b83eb6fe7f9a),
was returning always the same const static array, which would lead us to
always populate the observer's list with an observer for 'public_addr'.

This would of course become a problem when trying to obtain the observer
for 'cluster_add' during md_config_t::set_val() -- thus triggering the
same assert as initially reported on #5205.

Backport: cuttlefish
Fixes: #5205
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #486 from kri5/wip-s3-compliance-doc
Yehuda Sadeh [Fri, 9 Aug 2013 20:57:11 +0000 (13:57 -0700)]
Merge pull request #486 from kri5/wip-s3-compliance-doc

Wip s3 compliance doc

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: return 423 Locked response when failing to lock object
Yehuda Sadeh [Fri, 9 Aug 2013 18:52:25 +0000 (11:52 -0700)]
rgw: return 423 Locked response when failing to lock object

Fixes: #5882
Translate the EBUSY we get when trying to lock a shard / object
to 423 Locked response. Beforehand it was just translated to the
default 500.

Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: make RGWHTTPClient callback methods pure virtual
Yehuda Sadeh [Fri, 9 Aug 2013 17:29:17 +0000 (10:29 -0700)]
rgw: make RGWHTTPClient callback methods pure virtual

This will make it easier to catch interface changes, like the
ones that triggered #5921.

Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: rename read_header() to receive_header() where needed
Yehuda Sadeh [Fri, 9 Aug 2013 17:26:53 +0000 (10:26 -0700)]
rgw: rename read_header() to receive_header() where needed

The same as with #5921, fixing a missed interface change.

Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: rename data receive callbacks in swift token revocation
Yehuda Sadeh [Fri, 9 Aug 2013 16:31:28 +0000 (09:31 -0700)]
rgw: rename data receive callbacks in swift token revocation

Fixes: #5921
As part of the work that was made for dumpling, the http
client in-data callback was renamed in order to avoid confusion.
However, we missed the rename in a couple of places, which this
patch amend.

Reported-by: Roald van Loon <roaldvanloon@gmail.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoMerge remote-tracking branch 'gh/wip-5648-c'
Sage Weil [Fri, 9 Aug 2013 16:41:41 +0000 (09:41 -0700)]
Merge remote-tracking branch 'gh/wip-5648-c'

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoPendingReleaseNotes: note 'ceph daemon ...' argument behavior change
Sage Weil [Fri, 9 Aug 2013 16:07:04 +0000 (09:07 -0700)]
PendingReleaseNotes: note 'ceph daemon ...' argument behavior change

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodoc: Add a page about rgw S3 API compliance 486/head
Christophe Courtaut [Wed, 31 Jul 2013 09:33:26 +0000 (11:33 +0200)]
doc: Add a page about rgw S3 API compliance

Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
12 years agoRadosClient: shutdown monclient after dropping lock
Samuel Just [Thu, 8 Aug 2013 22:12:46 +0000 (15:12 -0700)]
RadosClient: shutdown monclient after dropping lock

Otherwise, the monclient shutdown may deadlock waiting
on a context trying to take the RadosClient lock.

Fixes: #5897
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agomds: notify clients about deleted inode
Yan, Zheng [Sun, 21 Jul 2013 02:21:13 +0000 (10:21 +0800)]
mds: notify clients about deleted inode

To make sure clients trim the deleted inode from the their cache
ASAP. After all clients release the inode, we can reclaim space.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge remote-tracking branch 'yan/wip-mds'
Sage Weil [Fri, 9 Aug 2013 05:19:21 +0000 (22:19 -0700)]
Merge remote-tracking branch 'yan/wip-mds'

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Fri, 9 Aug 2013 05:18:16 +0000 (22:18 -0700)]
Merge remote-tracking branch 'gh/next'

12 years agobuffer: change #include order
Sage Weil [Wed, 7 Aug 2013 01:36:00 +0000 (18:36 -0700)]
buffer: change #include order

huangjun <hjwsm1989@gmail.com> reports that this fixes the compilation on
CentOS5.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomake sure we are using the mount options
Alfredo Deza [Thu, 8 Aug 2013 23:09:26 +0000 (16:09 -0700)]
make sure we are using the mount options

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
(cherry picked from commit 34831d0989d4bcec4920068b6ee09ab6b3234c91)

12 years agoMerge pull request #480 from dachary/master
Sage Weil [Fri, 9 Aug 2013 01:34:19 +0000 (18:34 -0700)]
Merge pull request #480 from dachary/master

Add the definition of PG temp to the glossary

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #487 from ceph/wip-5746
Sage Weil [Fri, 9 Aug 2013 01:29:57 +0000 (18:29 -0700)]
Merge pull request #487 from ceph/wip-5746

ceph.in: Re-enable ceph interactive mode (missing its output).

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #489 from ceph/wip-5903
Sage Weil [Fri, 9 Aug 2013 01:06:16 +0000 (18:06 -0700)]
Merge pull request #489 from ceph/wip-5903

make sure we are using the mount options

Backport: dumpling, cuttlefish
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agomake sure we are using the mount options 489/head
Alfredo Deza [Thu, 8 Aug 2013 23:09:26 +0000 (16:09 -0700)]
make sure we are using the mount options

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
12 years agoMerge pull request #488 from dmick/wip-dmick-daemon-einval
Sage Weil [Thu, 8 Aug 2013 19:33:43 +0000 (12:33 -0700)]
Merge pull request #488 from dmick/wip-dmick-daemon-einval

Wip dmick daemon einval

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoceph.in: return EINVAL on daemon command error 488/head
Dan Mick [Thu, 8 Aug 2013 17:23:34 +0000 (10:23 -0700)]
ceph.in: return EINVAL on daemon command error

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agoceph.in: Re-enable ceph interactive mode (missing its output). 487/head
Dan Mick [Tue, 6 Aug 2013 01:18:59 +0000 (18:18 -0700)]
ceph.in: Re-enable ceph interactive mode (missing its output).

Also, loop on error.  There's no reason to exit the interpreter loop on
an error, and it's probably less annoying if we don't.  Print the error,
and any output, and continue.

Fixes: #5746
Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agomon: fix 'osd crush rule rm ...' dup arg
Sage Weil [Thu, 8 Aug 2013 15:30:01 +0000 (08:30 -0700)]
mon: fix 'osd crush rule rm ...' dup arg

This was broken way back in 0d66c9ebbf626117c641c975a8682a0aaba588c4, but
we were ignoring the dup until recently.
t
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoqa/workunits/cephtool/test.sh: test set/unset of all osd flags
Sage Weil [Wed, 7 Aug 2013 15:35:48 +0000 (08:35 -0700)]
qa/workunits/cephtool/test.sh: test set/unset of all osd flags

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon/MonCommands: fix typo nobackfile -> nobackfill
Sage Weil [Wed, 7 Aug 2013 15:32:08 +0000 (08:32 -0700)]
mon/MonCommands: fix typo nobackfile -> nobackfill

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoAdd back the mistakenly removed "ceph osd set noscrub/nodeep-scrub"
Dan Mick [Wed, 7 Aug 2013 01:33:38 +0000 (18:33 -0700)]
Add back the mistakenly removed "ceph osd set noscrub/nodeep-scrub"

Fixes: #5868
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge branch 'wip-recovery-op-warn' into next
Samuel Just [Wed, 7 Aug 2013 01:05:06 +0000 (18:05 -0700)]
Merge branch 'wip-recovery-op-warn' into next

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoOSD: suspend timeout on process_peering_events pg lock
Samuel Just [Tue, 6 Aug 2013 22:04:33 +0000 (15:04 -0700)]
OSD: suspend timeout on process_peering_events pg lock

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoMerge pull request #476 from dalgaaf/wip-CID-1058791
Yehuda Sadeh [Tue, 6 Aug 2013 21:25:52 +0000 (14:25 -0700)]
Merge pull request #476 from dalgaaf/wip-CID-1058791

Fix CID 1058791

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agotest: mon: moncap: add 'allow command foo with arg="bar.baz"' tests
Joao Eduardo Luis [Tue, 6 Aug 2013 20:52:51 +0000 (13:52 -0700)]
test: mon: moncap: add 'allow command foo with arg="bar.baz"' tests

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agoqa: workunits: mon: workunit to stress the monitor's caps
Joao Eduardo Luis [Fri, 2 Aug 2013 21:54:42 +0000 (22:54 +0100)]
qa: workunits: mon: workunit to stress the monitor's caps

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agomon: AuthMonitor: change 'auth add' behaviour
Joao Eduardo Luis [Tue, 30 Jul 2013 20:53:46 +0000 (21:53 +0100)]
mon: AuthMonitor: change 'auth add' behaviour

If an entity already existed, 'auth add' would smash its key and caps
with whatever was on the supplied keyring file; if a keyring weren't
specified, we would simply generate a new key and destroy all existing
caps (unless caps were specified and happened to be different from the
already in-place caps).  This behaviour is obviously sketchy.

With this patch we now enforce the following behaviour:

- if entity does not exist in current state, check if we are about to
  create it (by checking the pending state); if so, wait for the new state
  to be committed and re-handle the command then, so we don't get bad
  results from pending request
- if the command reproduces the current state (same key, same caps), we
  return 0; else,
- if entity exists and supplied key OR caps are different, return -EINVAL
- else create a new entity.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agomon: drop old _allowed_command()
Sage Weil [Fri, 2 Aug 2013 22:17:02 +0000 (15:17 -0700)]
mon: drop old _allowed_command()

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: services: no longer needed to enforce caps on a per-service basis
Joao Eduardo Luis [Sun, 28 Jul 2013 18:32:49 +0000 (19:32 +0100)]
mon: services: no longer needed to enforce caps on a per-service basis

We now perform all perm checks for commands on Monitor::handle_command().
Services no longer need to check them.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agomon: Monitor: purge old permission checking format on handle_command()
Joao Eduardo Luis [Sun, 28 Jul 2013 17:51:49 +0000 (18:51 +0100)]
mon: Monitor: purge old permission checking format on handle_command()

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agomon: Monitor: check caps considering command's requirements
Joao Eduardo Luis [Fri, 26 Jul 2013 18:56:44 +0000 (19:56 +0100)]
mon: Monitor: check caps considering command's requirements

Fixes: #5648
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agoOSD: only start osd_recovery_max_single_start at once
Samuel Just [Tue, 6 Aug 2013 20:02:24 +0000 (13:02 -0700)]
OSD: only start osd_recovery_max_single_start at once

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoReplicatedPG: ping tphandle between pushes
Samuel Just [Tue, 6 Aug 2013 19:59:15 +0000 (12:59 -0700)]
ReplicatedPG: ping tphandle between pushes

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoReplicatedPG: ping TPHandle during scan_range
Samuel Just [Tue, 6 Aug 2013 00:21:46 +0000 (17:21 -0700)]
ReplicatedPG: ping TPHandle during scan_range

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoOSD: also suspend timeout while grabbing recovery_tp lock
Samuel Just [Mon, 5 Aug 2013 20:51:05 +0000 (13:51 -0700)]
OSD: also suspend timeout while grabbing recovery_tp lock

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoOpRequest: don't warn as quickly for slow recovery ops
Samuel Just [Mon, 5 Aug 2013 20:25:37 +0000 (13:25 -0700)]
OpRequest: don't warn as quickly for slow recovery ops

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agomon, osd: Clean up "flush(stringstream)" continued
Dan Mick [Sat, 27 Jul 2013 05:52:27 +0000 (22:52 -0700)]
mon, osd: Clean up "flush(stringstream)" continued

Missing files in last commit; sorry!

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agomon, osd: Clean up "flush(stringstream); bl.append(stringstream.str())
Dan Mick [Sat, 27 Jul 2013 05:52:27 +0000 (22:52 -0700)]
mon, osd: Clean up "flush(stringstream); bl.append(stringstream.str())

Also: One redundant flush in AuthMonitor, two in PGMonitor, and
a ds << that should have been conditional in Monitor.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agodoc: fixing reported bug in CRUSH map example.
John Wilkins [Mon, 5 Aug 2013 21:48:38 +0000 (14:48 -0700)]
doc: fixing reported bug in CRUSH map example.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added many new fields to config reference.
John Wilkins [Mon, 5 Aug 2013 21:13:52 +0000 (14:13 -0700)]
doc: Added many new fields to config reference.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added trouble shooting entry. Fixed formatting.
John Wilkins [Mon, 5 Aug 2013 20:49:58 +0000 (13:49 -0700)]
doc: Added trouble shooting entry. Fixed formatting.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Nomenclature update.
John Wilkins [Mon, 5 Aug 2013 20:45:24 +0000 (13:45 -0700)]
doc: Nomenclature update.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Nomenclature update.
John Wilkins [Mon, 5 Aug 2013 20:44:59 +0000 (13:44 -0700)]
doc: Nomenclature update.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Nomenclature update.
John Wilkins [Mon, 5 Aug 2013 20:44:44 +0000 (13:44 -0700)]
doc: Nomenclature update.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Nomenclature update.
John Wilkins [Mon, 5 Aug 2013 20:44:20 +0000 (13:44 -0700)]
doc: Nomenclature update.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Nomenclature update. Added topic for monitor key caps. Added default pool steps.
John Wilkins [Mon, 5 Aug 2013 20:43:21 +0000 (13:43 -0700)]
doc: Nomenclature update. Added topic for monitor key caps. Added default pool steps.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agoqa/workunits/cephtool/test.sh: add tests for 'pg dump ...'
Sage Weil [Mon, 5 Aug 2013 20:06:21 +0000 (13:06 -0700)]
qa/workunits/cephtool/test.sh: add tests for 'pg dump ...'

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon/PGMonitor: add 'pg dump pgs_brief' subcommand
Dan Mick [Sat, 3 Aug 2013 04:26:51 +0000 (21:26 -0700)]
mon/PGMonitor: add 'pg dump pgs_brief' subcommand

It is useful to map OSDs to PGs and vice-versa; pg dump gives that
information, but gives a lot of other stuff.  This is the same dump
as pg dump pgs, but omitting everything except pgid, state, and
osd up and acting sets.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge branch 'wip-python-cleanup' into next
Dan Mick [Mon, 5 Aug 2013 20:03:21 +0000 (13:03 -0700)]
Merge branch 'wip-python-cleanup' into next

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agomds: fix locking, use-after-free/race in handle_accept
Sage Weil [Mon, 5 Aug 2013 19:52:44 +0000 (12:52 -0700)]
mds: fix locking, use-after-free/race in handle_accept

We need to hold mds_lock here.

Normally the con also holds a reference, but an ill-timed connection reset
could drop it.

Fixes: #5883
Backport: dumpling, cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agorgw: only log (as in ops logging) certain operations
Yehuda Sadeh [Mon, 5 Aug 2013 18:38:27 +0000 (11:38 -0700)]
rgw: only log (as in ops logging) certain operations

Fixes: #5875
ops logging should (at this point) should only include object
store related operations.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
12 years agorgw_admin: flush replicalog entries
Yehuda Sadeh [Sat, 3 Aug 2013 05:35:12 +0000 (22:35 -0700)]
rgw_admin: flush replicalog entries

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
12 years agocephtool/test.sh, rest/test.py: add tell command tests
Dan Mick [Sat, 27 Jul 2013 07:26:41 +0000 (00:26 -0700)]
cephtool/test.sh, rest/test.py: add tell command tests

Also add HTTP method to test.py output

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agoceph.in, ceph_rest_api.py: import only used syms from ceph_argparse.py
Dan Mick [Sat, 27 Jul 2013 06:30:52 +0000 (23:30 -0700)]
ceph.in, ceph_rest_api.py: import only used syms from ceph_argparse.py

This makes pyflakes/pylint happier and is better practice in general

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agocephtool/test.sh: add a few tests for invalid command args
Dan Mick [Sat, 3 Aug 2013 03:50:20 +0000 (20:50 -0700)]
cephtool/test.sh: add a few tests for invalid command args

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoceph_argparse.py: add stderr note if nonrequired param is invalid
Dan Mick [Sat, 3 Aug 2013 03:46:00 +0000 (20:46 -0700)]
ceph_argparse.py: add stderr note if nonrequired param is invalid

If we run across a user-supplied parameter that doesn't validate against
a non-required descriptor, it may be that it's a valid entry for a later
descriptor...or it may be that it's supposed to match.  We can't really tell.
A possible heuristic would be to call it invalid-for-sure if we're at the
end of the descriptor list, but that's not very generic.

Warn about it and try to drive on anyway.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoFix "too few args validate"
Dan Mick [Fri, 2 Aug 2013 05:35:08 +0000 (22:35 -0700)]
Fix "too few args validate"

Check that number of validated arguments matches the number of required
arguments in the signature.  Also, sort all possible matches by
length of signature.  This way "ceph osd crush set" and
"ceph osd crush set <args>" can work while still insisting that
extra args or too few args are errors.

Also, restructure and factor out some of the work of validate() to make
its inner loop smaller and hopefully more comprehensible.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #483 from ceph/wip-5881
John Wilkins [Mon, 5 Aug 2013 17:31:01 +0000 (10:31 -0700)]
Merge pull request #483 from ceph/wip-5881

fix invalid cluster naming in example

12 years agofix invalid cluster naming in example 483/head
Alfredo Deza [Mon, 5 Aug 2013 17:16:54 +0000 (10:16 -0700)]
fix invalid cluster naming in example

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
12 years agomds: don't issue caps while session is stale
Yan, Zheng [Thu, 25 Jul 2013 04:33:51 +0000 (12:33 +0800)]
mds: don't issue caps while session is stale

Locker::issue_caps() does not issue new caps to stale client,
CInode::encode_inodestat() should have the same logical.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
12 years agomds: change LOCK_SCAN to unstable state
Yan, Zheng [Tue, 16 Jul 2013 06:21:21 +0000 (14:21 +0800)]
mds: change LOCK_SCAN to unstable state

commit 0071b8e75b (mds: stay in SCAN state in file_eval) makes
Locker::file_eval() ignore lock in LOCK_SCAN state. If there
is no request changes the lock state, the lock can be stuck in
LOCK_SCAN state forever. This can cause client read/write hang
because lock in LOCK_SCAN state does not allow Frw caps.

The fix is change LOCK_SCAN to a unstable state. Thank to the
CInode::STATE_RECOVERING check in Locker::eval_gather(), the
lock stays in the SCAN state while file is being recovering.
The lock will transit to a stable state once the recovery
finishes.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
12 years agomds: handle "state == LOCK_LOCK_XLOCK" when cancelling xlock
Yan, Zheng [Wed, 17 Jul 2013 05:52:18 +0000 (13:52 +0800)]
mds: handle "state == LOCK_LOCK_XLOCK" when cancelling xlock

If we find lock state is LOCK_LOCK_XLOCK when cancelling xlock,
set lock state to LOCK_XLOCK_DONE and call Locker::eval_gather().
This makes sure the lock will eventually transit to a stable state.
(LOCK_XLOCK_DONE's next state is stable)

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
12 years agomds: remove "type != CEPH_LOCK_DN" check in Locker::cancel_locking()
Yan, Zheng [Wed, 17 Jul 2013 03:09:35 +0000 (11:09 +0800)]
mds: remove "type != CEPH_LOCK_DN" check in Locker::cancel_locking()

For acquiring/cancelling xlock, the lock state transitions for
dentry lock and other types of locks are the same. So I think
the "type != CEPH_LOCK_DN" check doesn't make sense.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
12 years agomds: revoke GSHARED cap when finishing xlock
Yan, Zheng [Tue, 16 Jul 2013 07:21:38 +0000 (15:21 +0800)]
mds: revoke GSHARED cap when finishing xlock

If lock state is LOCK_XLOCKDONE, the xlocker can have GSHARED cap.
So when finishing xlock, we may need to revoke the GSHARED cap.

In most cases Locker::_finish_xlock() directly set lock state to
LOCK_LOCK or LOCK_EXCL, which hides the issue. If 'num_rdlock > 0'
or 'num_wrlock > 0' when finishing xlock, the issue reveals.
(lock get stuck in LOCK_XLOCKDONE forever)

The fix is always call Locker::_finish_xlock() when xlock count
reaches zero. _finish_xlock() checks if it can change lock state
to LOCK_EXCL immediately. If not, it uses Locker::eval_gather()
to transit lock state.

Another change of this patch is avoid changing lock state to
LOCK_LOCK directly. because lock in LOCK_XLOCK_DONE state allows
GSHARED cap, lock in LOCK_LOCK state does not.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
12 years agomds: fix cap revoke confirmation
Yan, Zheng [Tue, 16 Jul 2013 01:37:58 +0000 (09:37 +0800)]
mds: fix cap revoke confirmation

There are several issues in the Capability::confirm_receipt()

1. when receiving a client caps message with 'seq == last_sent',
   it doesn't mean we finish revoking caps. The client can send
   caps message that only flushes dirty metadata.

2. When receiving a client caps message with 'seq == N', we should
   forget pending revocations whose seq numbers are less than N.
   This is because, when revoking caps, we create a revoke_info
   structure and set its seq number to 'last_sent', then increase
   the 'last_sent'.

3. When client actively releases caps (by request), the code only
   works for the 'seq == last_sent' case. If there are pending
   revocations, we should update them as if the release message
   is received before we revoke the corresponding caps.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
12 years agoqa/workunits/cephtool/test_daemon.sh: we should error on bad command
Sage Weil [Sun, 4 Aug 2013 22:24:49 +0000 (15:24 -0700)]
qa/workunits/cephtool/test_daemon.sh: we should error on bad command

See #5872.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoPG: set !flushed in Reset()
Samuel Just [Fri, 2 Aug 2013 18:58:52 +0000 (11:58 -0700)]
PG: set !flushed in Reset()

Otherwise, we might serve a pull before we start_flush in the
ReplicaActive constructor.

Fixes: #5799
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Fri, 2 Aug 2013 18:54:53 +0000 (11:54 -0700)]
Merge remote-tracking branch 'gh/next'

12 years agoMerge remote-tracking branch 'gh/wip-rgw-leaks'
Sage Weil [Fri, 2 Aug 2013 18:54:31 +0000 (11:54 -0700)]
Merge remote-tracking branch 'gh/wip-rgw-leaks'

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoMerge branch 'wip-5831' into next
Yehuda Sadeh [Fri, 2 Aug 2013 01:27:34 +0000 (18:27 -0700)]
Merge branch 'wip-5831' into next

12 years agoMerge branch 'wip-5810' into next
Yehuda Sadeh [Fri, 2 Aug 2013 01:27:20 +0000 (18:27 -0700)]
Merge branch 'wip-5810' into next

12 years agorgw: only fetch cors info when needed
Yehuda Sadeh [Thu, 1 Aug 2013 20:20:19 +0000 (13:20 -0700)]
rgw: only fetch cors info when needed

Fixes: #5831
This commit moves around the cors handling code. Beforehand
we were unnecessarily reading the cors headers for every
request whether that was needed or not. Moved that code to
be only called when needed. While at it, cleaned up the
layering a bit so that not to mix S3 specific code with
the generic functionality (except for debugging).

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
12 years agorgw: don't read cors attrs if there's no bucket in operation
Yehuda Sadeh [Wed, 31 Jul 2013 00:34:49 +0000 (17:34 -0700)]
rgw: don't read cors attrs if there's no bucket in operation

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
12 years agorgw: rename sync-type to update-type
Yehuda Sadeh [Wed, 31 Jul 2013 19:24:36 +0000 (12:24 -0700)]
rgw: rename sync-type to update-type

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
12 years agorgw: only check version if meta object exists
Yehuda Sadeh [Wed, 31 Jul 2013 19:23:17 +0000 (12:23 -0700)]
rgw: only check version if meta object exists

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
12 years agoAdd the definition of PG temp to the glossary 480/head
Loic Dachary [Thu, 1 Aug 2013 22:47:00 +0000 (00:47 +0200)]
Add the definition of PG temp to the glossary

it is not easy to figure out what a PG temp is just by reading the
code although it is easy to understand with an example.

Signed-off-by: Loic Dachary <loic@dachary.org>
12 years agoMerge pull request #478 from dalgaaf/wip-da-spec-req
Gary Lowell [Thu, 1 Aug 2013 18:11:44 +0000 (11:11 -0700)]
Merge pull request #478 from dalgaaf/wip-da-spec-req

Fix BuildRequires in SPEC file
Reviewed-by: Gary Lowell <gary.lowell@inktank.com>
12 years agoceph.spec.in: merge back JUnit handling from SUSE spec 478/head
Danny Al-Gaaf [Thu, 1 Aug 2013 13:01:22 +0000 (15:01 +0200)]
ceph.spec.in: merge back JUnit handling from SUSE spec

Merge back what we have in the (open)SUSE ceph spec file for JUnit.
Add missing Requires and the package is named junit4 on some SUSE
versions.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoceph.spec.in: move junit BuildRequires to the cephfs-java subpackage
Danny Al-Gaaf [Thu, 1 Aug 2013 11:37:48 +0000 (13:37 +0200)]
ceph.spec.in: move junit BuildRequires to the cephfs-java subpackage

JUnit is only needed by cephfs-java. Move the BuildRequires to this
subpackage.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoceph.spec.in: use snappy-devel only on RHEL derivatives
Danny Al-Gaaf [Thu, 1 Aug 2013 11:34:11 +0000 (13:34 +0200)]
ceph.spec.in: use snappy-devel only on RHEL derivatives

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoceph.spec.in: add missing buildrequires for Fedora
Erik Logtenberg [Thu, 1 Aug 2013 11:29:45 +0000 (13:29 +0200)]
ceph.spec.in: add missing buildrequires for Fedora

This patch adds two buildrequires to the ceph.spec file, that are needed
to build the rpms under Fedora. Danny Al-Gaaf commented that the
snappy-devel dependency should actually be added to the leveldb-devel
package. I will try to get that fixed too, in the mean time, this patch
does make sure Ceph builds on Fedora.

Signed-off-by: Erik Logtenberg <erik@logtenberg.eu>
12 years agoMerge branch 'wip-5815' into next
Dan Mick [Thu, 1 Aug 2013 06:01:03 +0000 (23:01 -0700)]
Merge branch 'wip-5815' into next

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge branch 'wip-5784' into next
David Zafman [Thu, 1 Aug 2013 04:24:28 +0000 (21:24 -0700)]
Merge branch 'wip-5784' into next

Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years agomon/MDSMonitor: don't call all EINVALs "unrecognized command"
Dan Mick [Thu, 1 Aug 2013 01:10:04 +0000 (18:10 -0700)]
mon/MDSMonitor: don't call all EINVALs "unrecognized command"

Some of them are valid EINVALs (like mds setmap with the wrong epochnum)

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agorest/test.py: retry mds setmap in case epoch has changed
Dan Mick [Thu, 1 Aug 2013 01:09:20 +0000 (18:09 -0700)]
rest/test.py: retry mds setmap in case epoch has changed

Loop 10 times retrying mds dump/getmap/setmap.

Fixes: #5815
Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agorest/test.py: expect_nofail() to allow examination of reason
Dan Mick [Thu, 1 Aug 2013 01:08:39 +0000 (18:08 -0700)]
rest/test.py: expect_nofail() to allow examination of reason

Also remove unused MyException

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agoMerge tag 'v0.67-rc3' into next
Sage Weil [Thu, 1 Aug 2013 01:08:08 +0000 (18:08 -0700)]
Merge tag 'v0.67-rc3' into next

v0.67-rc3

12 years agoVerify that deleting op never in check_latest_map_ops map
David Zafman [Thu, 1 Aug 2013 00:04:09 +0000 (17:04 -0700)]
Verify that deleting op never in check_latest_map_ops map

Signed-off-by: David Zafman <david.zafman@inktank.com>
12 years agoosdc: op left in check_lastest_map_ops
David Zafman [Wed, 31 Jul 2013 18:08:34 +0000 (11:08 -0700)]
osdc: op left in check_lastest_map_ops

Call op_cancel_map_check before cancel_op() in send_linger()

Fixes: #5784
Signed-off-by: David Zafman <david.zafman@inktank.com>
12 years agorgw_rados.cc: fix invalid iterator comparison 476/head
Danny Al-Gaaf [Wed, 31 Jul 2013 22:34:41 +0000 (00:34 +0200)]
rgw_rados.cc: fix invalid iterator comparison

The iterator should be compared against the end() function of
the same iter() from region_conn_map.

CID 1058791 (#1 of 1): Invalid iterator comparison (MISMATCHED_ITERATOR)
  mismatched_comparison: Comparing "iter" from "this->region_conn_map" to
  "this->zone_conn_map.end()" from "this->zone_conn_map".

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>