Commit Graph

38562 Commits

Author SHA1 Message Date
Matt Richards
9ee80b3322 librados: bump rados version number
As a follow-on to 49d114f1ff,
increment the "extra" version field so clients can easily
determine if they have a version of librados that properly
translates C API operation flags.

Signed-off-by: Matthew Richards <mattjrichards@gmail.com>
2015-01-12 17:00:52 -08:00
Josh Durgin
d784bc47c4 Merge pull request #3316 from ceph/wip-10471
rgw: index swift keys appropriately

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-01-12 16:20:28 -08:00
Jason Dillaman
f5668d6b9d librbd: Create image exclusive lock watch/notify handler
The new watch/notify handler replaces the existing header
update watch/notify handler and adds support for managing
image exclusive lock leadership.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-01-12 19:01:07 -05:00
Sage Weil
2ecd8748d2 osd: enable filestore_extsize by default
Note that this will only get used if the kernel is new enough; if it is
older than 3.5 the option will get disabled and extsize will not be used
even if the option is set to true.

This partially reverts 01cd3cdc72.

Fixes: #9956
Signed-off-by: Sage Weil <sage@redhat.com>
2015-01-12 14:00:21 -08:00
Sage Weil
b76d0dc0f2 os/FileStore: verify kernel is new enough before using extsize ioctl
Old kernels have an XFS bug that exposes uninitialized data when the
extsize hint is set and only partially written.  This is fixed by Linux
commit aff3a9edb7080f69f07fe76a8bd089b3dfa4cb5d, documented in XFS bug
http://oss.sgi.com/bugzilla/show_bug.cgi?id=874, and tested by XFS
test xfs/229 to prevent regressions.

Notably the original bug affects kernel 3.2, which is widely deployed with
ubuntu precise 12.04.

Backport: giant, firefly
Signed-off-by: Sage Weil <sage@redhat.com>
2015-01-12 13:59:39 -08:00
Gregory Farnum
c219c43cc2 Merge pull request #3352 from kylinstorage/fix-10503
Fix bug 10503: http://tracker.ceph.com/issues/10503

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-01-12 11:33:02 -08:00
Sage Weil
f4ff12aebc drop ceph_mon_store_converter
This was needed for upgrades in the cuttlefish era; no longer useful.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-01-12 09:37:08 -08:00
Samuel Just
4ecea7e54e Merge pull request #3203 from majianpeng/fix1
avoid memcopy from librados to caller buffer

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2015-01-12 08:39:48 -08:00
Samuel Just
187c85a5c4 Merge pull request #3034 from dachary/wip-10017-erasure-code-repair
erasure code repair when there are two failures

Reviewed-by: Samuel Just <sjust@redhat.com>
2015-01-12 08:26:08 -08:00
Samuel Just
fb72b9e4b9 Merge pull request #3148 from mslovy/optimazation_wbthrottle
os: WBThrottle: optimize the map to unordered_map

Reviewed-by: Samuel Just <sjust@redhat.com>
2015-01-12 08:23:26 -08:00
John Spray
a4152dbfa1 mon/MDSMonitor: add confirm flag to fs reset
This was already in the command map but was not
being checked.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-12 15:00:15 +00:00
John Spray
8630696681 qa: add fs reset to cephtool tests
This is just a superficial "I can call it" test,
it's actual behaviour is checked elsewhere.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-12 15:00:15 +00:00
John Spray
1713ffd898 mon: implement fs reset
This is for use in CephFS disaster recovery.  When
the metadata pool has been forcibly reset to a single-MDS
metadata tree, we would like to reset the MDSMap to match.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-12 15:00:14 +00:00
Yunchuan Wen
1f694767c3 Fix bug 10503: http://tracker.ceph.com/issues/10503
ceph-fuse: quota code is not 32-bit safe for vxattr output

Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com>
2015-01-12 05:49:32 +00:00
Yunchuan Wen
c80c2cf3f9 test: modify test/cli/rbd/help.t for merge-diff
Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com>
2015-01-12 01:05:26 +00:00
Yunchuan Wen
d300220aaf rbd: test case for rbd merge-diff
Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com>
Signed-off-by: MingXin Liu <mingxinliu@ubuntukylin.com>
2015-01-12 01:05:19 +00:00
Yunchuan Wen
337f82197b rbd: merge two diff files into one single file
Note: It does not do the merging work if
either of the source diff files is stripped,
since which complicates the process and is
rarely used

Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com>
Signed-off-by: MingXin Liu <mingxinliu@ubuntukylin.com>
Reviewed-by: Li Wang <liwang@ubuntukylin.com>
2015-01-12 01:04:39 +00:00
Yunchuan Wen
9c82efcc79 rbd: parse diff file body for diff merging
Signed-off-by: MingXin Liu <mingxinliu@ubuntukylin.com>
Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com>
Reviewed-by: Li Wang <liwang@ubuntukylin.com>
2015-01-12 01:03:41 +00:00
Yunchuan Wen
b4720ae6a5 rbd: parse diff file header for diff merging
Signed-off-by: MingXin Liu <mingxinliu@ubuntukylin.com>
Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com>
Reviewed-by: Li Wang <liwang@ubuntukylin.com>
2015-01-12 01:02:51 +00:00
Sage Weil
538bad38d3 Merge pull request #2948 from ceph/wip-promote
osd: promote_object separation; proxy read

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2015-01-11 07:55:08 -08:00
Sage Weil
f42ef1e370 ceph_test_rados: add some debug output
Signed-off-by: Sage Weil <sage@redhat.com>
2015-01-10 20:35:31 -08:00
Sage Weil
1554fbc87e osd/ReplicatedPG: improve proxy read cancelation
Avoid taking the PG lock for a canceled read op (if we are lucky).  Recheck
after the lock is taken for good measure.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-01-10 20:35:31 -08:00
Sage Weil
1c8b679d0c osd/ReplicatedPG: put proxy read completion on finisher
We can't use the synchronous completion callbacks (in fast dispatch
context) do to the proxy read completion work.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-01-10 20:35:30 -08:00
Zhiqiang Wang
650f1d989b osd: tiering: avoid duplicate promotion on proxy read
Do not promote if it is already undergoing in maybe_handle_cache.

Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>
2015-01-10 20:35:30 -08:00
Zhiqiang Wang
43f13af614 osd: tiering: proxy instead of redirect read in writeback mode when the
cache pool is full

To preserve read op order

Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>
2015-01-10 20:35:30 -08:00
Zhiqiang Wang
bfb71a4e63 osd: tiering: cancel and requeue proxy read when needed
Cancel and requeue proxy read on the following cases:
1) on_shutdown
2) on_change
3) background promotion is done

Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>

Conflicts:
	src/osd/ReplicatedPG.cc
	src/osd/ReplicatedPG.h
2015-01-10 20:35:30 -08:00
Sage Weil
759db93f16 osd/ReplicatedPG: allow reads to proxy etc even if blocked
If we are not write ordered, continue with cache checks so that we can
(among other things) proxy reads while promoting.

Note that this may reorder reads for clients, but we've decided that's okay.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-01-10 20:35:30 -08:00
Zhiqiang Wang
ce14310c8a test: add proxy read test
Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>
2015-01-10 20:35:30 -08:00
Zhiqiang Wang
8e145e08ed osd: tiering: proxy reads during promote
wip 9980. Do proxy read and async promotion for writeback.

Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>
2015-01-10 20:35:30 -08:00
Zhiqiang Wang
4dc9990e7e osd: tiering: add cache mode READPROXY
Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>
2015-01-10 20:35:30 -08:00
Zhiqiang Wang
70d3d08a0b osd: tiering: add proxy read support
wip 9979

Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>
2015-01-10 20:35:30 -08:00
Sage Weil
9ed2ac780e osd/ReplicatedPG: separate promotion from the triggering op
Remove the triggering op from the internal promote machinery.

We keep the optional op arg to promote_object() only because we may
block on an object other than the original obc.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-01-10 20:35:03 -08:00
Sage Weil
a03d375ed0 osd/ReplicatedPG: pass promote error to all blocked operations
This isn't the most elegant strategy, but it is the best we can do
right now.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-01-10 20:35:03 -08:00
Sage Weil
a4a414944e osd/ReplicatedPG: drop unnecessary cache_mode checks
This currently enumerates all cache modes except none, and we don't
arrive in this function when caching is disabled.  And creating a whiteout
is not cache_mode dependent.  Simplify!

Signed-off-by: Sage Weil <sage@redhat.com>
2015-01-10 20:35:03 -08:00
Sage Weil
2a67b0a090 osd/ReplicatdPG: adjust braces (no semantic change)
Signed-off-by: Sage Weil <sage@redhat.com>
2015-01-10 20:35:03 -08:00
Sage Weil
5361bc043f osd/ReplicatedPG: factor out must_promote case from all cache modes
Signed-off-by: Sage Weil <sage@redhat.com>
2015-01-10 20:35:03 -08:00
Sage Weil
8645ed7664 osd/ReplicatedPG: factor out common exists case from all cache modes
Signed-off-by: Sage Weil <sage@redhat.com>
2015-01-10 20:35:03 -08:00
Sage Weil
1d89f18158 osd/ReplicatedPG: make op argument to promote_object optional
For now, we still always pass it.  In preparation, however, we modify
promote_object() so that it will work when op is null.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-01-10 20:35:03 -08:00
Josh Durgin
9c50ed074d Merge pull request #3309 from trociny/wip-9483
OSD: add a get_latest_osdmap command to the admin socket

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-01-10 15:25:10 -08:00
Mykola Golub
2bbab0592d OSD: add a get_latest_osdmap command to the admin socket
The command blocks and ensures we have the latest map from the
mon. This is useful in testing and to "unstick" clusters in some
odd situations.

Fixes: #9483, #9484 (maybe)
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2015-01-10 15:56:35 +02:00
Wido den Hollander
d5e8ef5092 doc: Fix PHP librados documentation 2015-01-10 14:21:27 +01:00
Loic Dachary
b2a3c50508 Merge pull request #3348 from ceph/wip-mon-wishlist
doc: mon janitorial list is now a wishlist

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-01-10 13:54:56 +01:00
Joao Eduardo Luis
a16e72cf44 doc: mon janitorial list is now a wishlist
Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
2015-01-10 12:09:16 +00:00
Sage Weil
585efcb7e4 Merge remote-tracking branch 'gh/next' 2015-01-09 21:43:49 -08:00
Sage Weil
58b5e02890 Merge pull request #3327 from ceph/wip-peeringqueue
osd: fix peering queue bug

Reviewed-by: Samuel Just <sjust@redhat.com>
2015-01-09 21:43:04 -08:00
Tim Freund
19955fca53 doc: Replace cloudfiles with swiftclient in Python Swift example
The Cloud Files client library is no longer supported by Rackspace.
Users installing the package receive the following warning:

DeprecationWarning: python-cloudfiles has been deprecated as of August
1, 2013. Please see https://github.com/openstack/python-swiftclient.

This commit updates the documentation to use the python-swiftclient
package.

Signed-off-by: Tim Freund <tim@freunds.net>
2015-01-09 21:50:11 -05:00
Joao Eduardo Luis
5461368968 mon: paxos: queue next proposal after waking up callbacks
Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
2015-01-09 17:41:17 -08:00
Josh Durgin
18d6a08331 Merge pull request #3344 from ceph/wip-librbd-snap-unprotect
librbd: shadow variable in snap_unprotect

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-01-09 16:56:39 -08:00
Yehuda Sadeh
d375532436 rgw: return InvalidAccessKeyId instead of AccessDenied
Fixes: #10334

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 56af795b1046a4c1bfba59e1fefde272bb0e5c1e)
2015-01-09 15:13:51 -08:00
Yehuda Sadeh
dd57af2f0a rgw: return SignatureDoesNotMatch instead of AccessDenied
Fixes: #10329

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit ef75d720f289ce2e18c0047380a16b7688864560)
2015-01-09 15:13:43 -08:00