Commit Graph

42082 Commits

Author SHA1 Message Date
Loic Dachary
8e1bcf21f0 ceph-disk: always check zap is applied on a full device
zap only makes sense on a full device and this is verified for

    ceph-disk prepare --zap-disk

but not for

    ceph-disk zap

Unify the two and add a test to check that it fails as expected when
trying to zap a directory.

http://tracker.ceph.com/issues/11272 Fixes: #11272

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-31 19:42:45 +02:00
Sage Weil
c8705e5ae5 Merge remote-tracking branch 'gh/next' 2015-05-31 12:43:33 -04:00
Sage Weil
f5a95804af unittest_ceph_argparse: test float parsing
Signed-off-by: Sage Weil <sage@redhat.com>
2015-05-31 12:43:01 -04:00
Rajesh Nambiar
4487d13cc6 Allow float value by allowing . in input value
Dont bail out if the input value happens to be .

Fixes: #11620
Signed-off-by: Rajesh Nambiar <rajesh.n@msystechnologies.com>
Tested-by: Sage Weil <sage@redhat.com>
2015-05-31 12:38:03 -04:00
Loic Dachary
64944d4105 tests: ceph-helpers.sh use expr instead of (( ))
Because (( timer++ )) is mistaken by set -e to not be a successful
command, use expr instead.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-31 18:33:20 +02:00
Loic Dachary
d2172b0e89 tests: move ceph-helpers.sh to qa/workunits
So that it can be used by scripts in qa/workunits that need it.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-31 18:33:17 +02:00
Loic Dachary
a199ff9d59 erasure-code: ErasureCodeShec update default values to string
Update the ErasureCodeShec::init function to use string default
values. The default profile values for technique, ruleset-root and
ruleset-failure-domain are set for the user to see.

The error message when an invalid technique is provided is written to
the error stream to be returned to the user instead of being written to
the OSD log.

Updating other values from the profile would require deeper changes and
is left for later.

http://tracker.ceph.com/issues/9589 Fixes: #9589

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-31 00:01:34 +02:00
Loic Dachary
395eba9b38 erasure-code: ErasureCodeLrc update default values to string
Update the ErasureCodeLrc::init function to use string default values
and update the profile accordingly.

If the k,m,l values are set and generate mappings and layers entries,
those are not stored in the profile. The details of what k,m,l create
are private and not exposed to the caller.

http://tracker.ceph.com/issues/9589 Fixes: #9589

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-31 00:01:34 +02:00
Loic Dachary
17ecd6f942 erasure-code: return ErasureCodeLrc::parse_kml error
Instead of always returning 0

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-31 00:01:34 +02:00
Loic Dachary
14a59e5a2c erasure-code: ErasureCodeJerasure update default values to string
Update the ErasureCodeJerasure::init function to use string default values
and update the profile accordingly.

The ErasureCodeJerasure::revert_to_default prototype is modified so it
can update the profile.

http://tracker.ceph.com/issues/9589 Fixes: #9589

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-31 00:01:34 +02:00
Loic Dachary
6eaeb56718 erasure-code: ErasureCodeIsa update default values to string
Update the ErasureCodeIsa::init function to use string default values
and update the profile accordingly.

Also fix a bug by which the plugin would incorrectly report using the
default technique when the reed_sol_van or cauchy techniques are the
only legitimate values.

http://tracker.ceph.com/issues/9589 Fixes: #9589

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-31 00:01:34 +02:00
Loic Dachary
4b3ba2abc4 erasure-code: ErasureCode default value is a string
The to_int, to_bool prototypes are modified and the default values are
changed to string instead of int. If a default value is set, the profile
is modified to contain the default value.

The to_string helper is added so it can be used to set the default value
of a string, in a way that is consistent with to_int and to_bool.

http://tracker.ceph.com/issues/9589 Fixes: #9589

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-31 00:01:34 +02:00
Yehuda Sadeh
5652518cf8 Merge pull request #4810 from zaitcev/context_io_init_undup
rgw: Drop a redundant context_io.init

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-05-30 20:25:45 +03:00
Pete Zaitcev
55b9e4e29b rgw: Drop a redundant context_io.init
Interestingly enough, the function is not even entirely idempotent:
it prints debugging output, duplicated.

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
2015-05-30 11:19:25 -06:00
Loic Dachary
a6479e4efe Merge pull request #4812 from yuyuyu101/fix-perf-incompatible
PerfLocal: Doesnt' compile div64 for non-64 bits arch

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-05-30 16:17:46 +02:00
Haomai Wang
6fcf162dea PerfLocal: Doesnt' compile div64 for non-64 bits arch
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2015-05-30 21:13:12 +08:00
Loic Dachary
ceee695bba ceph-erasure-code-corpus: isa: add k=10 m=4
To improve coverage.

http://tracker.ceph.com/issues/11346 Fixes: #11346

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-30 13:44:40 +02:00
Loic Dachary
830054b419 Merge pull request #4797 from dachary/wip-11665-erasure-code-lrc
tests: add lrc tests to osd-scrub-repair.sh

Reviewed-by: Shylesh Kumar <shmohan@redhat.com>
2015-05-30 12:19:59 +02:00
Kefu Chai
17855b4288 Merge pull request #4799 from dachary/wip-install-deps
install-deps.sh: robust pip and wheel installation

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-05-30 17:47:36 +08:00
Loic Dachary
8199e0064b install-deps.sh: do not store pip cache outside of the tree
Signed-off-by: Loic Dachary <ldachary@redhat.org>
2015-05-30 11:00:56 +02:00
Sage Weil
e8cc7a86cc bin/make_dist_tarball.sh
This includes all submodules *except* ceph-object-corpus and
ceph-erasure-code-corpus.

This is a bit different that autotools' version:

 - compiled man pages
 - some autotools cruft
 - src/.git_version
 - compiled *.in files
 + .git*
 + CMake stuff
 + copyright files
 + readme files
 + cmake/
 + debian/
 + doc/
 + keys/
 + qa/
 + systemd/
 + tons of other stuff we should probably have included

All in all, I think it's much more complete.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-05-29 21:29:48 -04:00
Sage Weil
8bd27b61cb bin/git-all-archive.sh: add --ignore option
Signed-off-by: Sage Weil <sage@redhat.com>
2015-05-29 21:22:52 -04:00
Sage Weil
94b6661d99 bin/git-archive-all.sh
Thank you, internet: https://github.com/meitar/git-archive-all.sh

Signed-off-by: Sage Weil <sage@redhat.com>
2015-05-29 21:05:14 -04:00
Sage Weil
013f9af82c Merge pull request #4727 from tchaikov/wip-osdmaptool-dump-tree-with-format
osdmaptool: dump tree with given format

Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-29 17:43:54 -07:00
Loic Dachary
bbf75f811c install-deps.sh: keep debian alternatives
Instead of removing the | when an alternative is found in the control
file such as

     cryptsetup-bin | cryptsetup

remove the surrounding spaces so that it is treated as a regular
expression that matches either one.

Replace the form

    sudo bash -c "FOO=bar ..."

with

    sudo env FOO=bar ...

to reduce the levels of shell escaping.

Reported-by: http://dyweni.com/
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-29 23:55:01 +02:00
Loic Dachary
cbc96a08d0 install-deps.sh: robust pip and wheel installation
The wheel and pip module must not only be installed in each wheelhouse
directory for tox to find. They must also be installed in the virtual
environment that populates the wheelhouse directory. Otherwise older pip
modules such as the one found by default on Ubuntu 12.04 will fail.

Python 2.7.3 on Ubuntu 12.04 also requires that distribute >= 0.7.3 is
installed although it is redundant with setuptools, otherwise it will
fail to run the wheel module.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-29 23:43:06 +02:00
Sage Weil
64096b8709 Merge pull request #4805 from athanatos/wip-11787
Wip 11787

Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-29 14:21:52 -07:00
Samuel Just
33150c509d Merge remote-tracking branch 'upstream/wip-txn-noappend-sam-rebased'
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2015-05-29 14:20:29 -07:00
Sage Weil
d07100b660 Merge pull request #4526 from athanatos/wip-11296
Wip 11296

Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-29 14:19:44 -07:00
Samuel Just
8a95f13a69 Merge remote-tracking branch 'upstream/wip-11493'
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-29 14:17:42 -07:00
Sage Weil
315260a58c Merge pull request #4803 from athanatos/wip-11677
Wip 11677 -- fixes for rw rados ops with snaps

Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-29 14:11:12 -07:00
Samuel Just
be873eb8da ReplicatedPG::release_op_ctx_locks: requeue in scrub queue if blocked
Otherwise we can reorder an op around another op which got blocked by a
scrub which started after the first blocked on an obc.

Fixes: #11691
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-05-29 14:09:11 -07:00
Samuel Just
5c2b795724 ReplicatedPG::finish_ctx: take excl lock if operation is rw
Fixes: #11677
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-05-29 14:09:05 -07:00
Sage Weil
f9ce2d78cf Merge pull request #4804 from athanatos/wip-11771
osd_types::is_new_interval: size change triggers new interval

Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-29 14:03:36 -07:00
Samuel Just
3e4b852728 osd/: convert snap trimming to use OpWQ
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-05-29 11:42:57 -07:00
Samuel Just
e8cddf8e6f OSD: add PGQueueable
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-05-29 11:42:52 -07:00
Samuel Just
d7fabebf84 Merge pull request #4070 from ceph/wip-chain-xattr
os/chain_xattr: cope with xfs limit of 254 bytes for inlined xattrs.

Reviewed-by: Haomai Wang <haomaiwang@gmail.com>
Reviewed-by: Ning Yao <zay11022@gmail.com>
2015-05-29 10:57:29 -07:00
Samuel Just
517659b1d0 FileStore: sync object_map when we syncfs
This way, even if leveldb/rocksdb is on another filesystem/disk,
it will still be synced before trimming the journal.  Note, this
patch only syncs the object_map in the !backend->can_checkpoint()
case since if the backend can checkpoint, the checkpoint must
also capture the object_map since we have not been setting replay
guards in the object_map.

Signed-off-by: Samuel Just <sjust@redhat.com>
2015-05-29 10:53:32 -07:00
Samuel Just
2b28150765 Merge pull request #4059 from majianpeng/copyget-digest
Replicated: For COPY_GET, only src has data/omap digest, the dst can do.

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2015-05-29 10:41:12 -07:00
Samuel Just
3e072c9032 Merge pull request #3253 from majianpeng/bug-fix
cleanup code for wbthrottle.

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-29 10:31:21 -07:00
John Spray
891e9b17dc Merge pull request #4800 from hjwsm1989/journaler
osdc/Journaler.h: fix ceph_file_layout dump error in journaler::dum…

Reviewed-by: John Spray <john.spray@redhat.com>
2015-05-29 12:39:12 +02:00
Loic Dachary
a10bd899d1 Merge pull request #4794 from XinzeChi/wip-kill-sleep
test: check daemon is alive or not agagin when sleep 60s

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-05-29 10:56:54 +02:00
huangjun
8a6d626c63 osdc/Journaler.h: fix ceph_file_layout dump error in journaler::dump().
Signed-off-by: huangjun <hjwsm1989@gmail.com>
2015-05-29 16:11:11 +08:00
Kefu Chai
b3555e9c32 mon: always reply mdsbeacon
the MDS (Beacon) is always expecting the reply for the mdsbeacon messages from
the lead mon, and it uses the delay as a metric for the laggy-ness of the
Beacon. when it comes to the MDSMonitor on a peon, it will remove the route
session at seeing a reply (route message) from leader, so a reply to
mdsbeacon will stop the peon from resending the mdsbeacon request to the
leader.

if the MDSMonitor re-forwards the unreplied requests after they are
outdated, there are chances that the requests reflecting old and even wrong
state of the MDSs mislead the lead monitor. for example, the MDSs which sent
the outdated messages could be dead.

Fixes: #11590
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-29 15:21:39 +08:00
Owen Synge
6f495974a8 ceph.spec.in:ownership of dirs extension
rpm lint says the following directories

/usr/share/ceph
/usr/lib/ceph

are un owned by any package and this causes
OBS to emit errors.

Signed-off-by: Owen Synge <osynge@suse.com>
2015-05-29 09:06:42 +02:00
Yan, Zheng
b20ea4302f client: start flushing dirty caps in Client::_fsync()
Client::flush_caps(Inode *, MetaSession *) does not start flushing
dirty caps. It only re-send caps message for caps that are already
being flushed.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2015-05-29 10:03:08 +08:00
Yan, Zheng
6883b82998 client: make fsync wait for unsafe directory operations
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2015-05-29 10:03:08 +08:00
Yan, Zheng
ce27ae4f16 client: make fsync waits for single inode's flushing caps
Client::_fsync() calls Client::wait_sync_caps(uint64_t), which
waits for all inodes' flush caps. It's suboptimal, this patch
makes Client::_fsync() wait for flushing caps which belong to
the fsync inode.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2015-05-29 10:03:08 +08:00
Yan, Zheng
6bb9e158fc client: don't update flushing_cap_seq when there are flushing caps
Current code always updates flushing_cap_seq when marking dirty
caps as flushing. If there are old flushing caps, updating
flushing_cap_seq confuses Client::wait_sync_caps(uint64_t), make
it think that the old caps have been flushed.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2015-05-29 10:03:01 +08:00
Yan, Zheng
2517ea9945 mds: don't add setfilelock requests to session's completed_requests
setfilelock requests only modify states in MDS memory. The states get
lost when MDS fails. If a setfilelock reply gets lost when MDS fails,
client will re-send corresponding setfilelock request when new MDS
restarts. The new MDS should re-execute the setfilelock request

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2015-05-29 09:45:04 +08:00