Commit Graph

40263 Commits

Author SHA1 Message Date
John Spray
c087025f22 mds: improved doxygen comments in StrayManager
Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-20 12:32:48 +00:00
John Spray
0ae624e68d mds: update StrayManager op limit on mds_max_purge_ops_per_pg
Previously was only updating on mds_max_purge_ops

Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-20 12:32:47 +00:00
John Spray
3a0caf9bbb mds: fix parent check in MDCache::eval_remote
This code path wasn't touched until the change
in "mds/Server: fix stray reintegration".  Now we
see that it will crash in fsstress in some circumstances
when the client is doing a link operation, where
we are checking the projected linkage on the DN
before going into this function, but not the projected
parenthood of the inode.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-20 12:32:47 +00:00
John Spray
91867b2b74 mds: make purge op limit dynamic based on PGs/MDSs
Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-20 12:32:47 +00:00
John Spray
2f1e10c11a mds: throttle purge stray operations
Pull out the stray-handling code into a separate StrayManager
class.

There is an additional improvement to stray reintegration here,
by passing the DN that triggered the reintegration through,
we should make a better choice about *which* hardlink to
reintegrate the inode into, rather than just picking the first.

Fixes: #10390
Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-20 12:32:47 +00:00
John Spray
de157d9476 common/config_opts: add purge throttle options
These are to be respected by the MDS in the number
of concurrent RADOS delete operations and
number of files to be purged at once.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-20 12:32:47 +00:00
John Spray
f180b64c59 osdc: make op count in Filer::purge configurable
Previously this was simply hardcoded to do up to
10 RADOS delete ops at a time.  Make this a config
option so that Filer consumers (like the MDS) can
know how many concurrent operations will be done
on their behalf.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-20 12:32:47 +00:00
John Spray
763e26c41e mds: eval stray on remove dentry replica
This happens because when handling an MCacheExpire,
we expire inodes first and then dentries, so when
the inodes are put() their dentries still are replicated
so eval_stray fails.  Do an explicit call to maybe_eval_stray
when handling the expire for the dentry in order to catch
this.

One hits this path when migrating a stray away from
a stopping MDS rank.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-20 12:32:47 +00:00
John Spray
28a10164f3 mds: expire other ranks' mydirs during 'stopping'
Avoids the surviving MDSs thinking their base dir is still
replicated after a rank has been stopped.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-20 12:32:47 +00:00
John Spray
a01e9b1f1b mds/Server: fix stray reintegration
This was checking tracei's primary parent DN for remoteness
as a condition to calling eval_remote.  However, the *primary*
parent DN in this case is the stray, which is not remote.

The correct check is tracedn (the remote dentry that got us here)
rather than tracei->get_parent_dn() (the primary dentry for the
inode that we have looked up).

This leads to eval_remote being invoked, and reintegration
of stray hard-linked inodes working.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-20 12:32:47 +00:00
Loic Dachary
b94189f9c0 Merge pull request #4114 from apeters1971/wip-isa-lrucache
erasure-code: make ErasureCodeIsaTableCache drop entries according to LRU

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-03-20 11:35:32 +01:00
Andreas Peters
9999238396 erasure-code: make ErasureCodeIsaTableCache drop entries according to LRU
There was a bug in the arguments used by the splice function to move elements from the LRU list to the head of the list.
To simplify the implementation the direction of the LRU list has been changed e.g. newest entries are pushed in front.

Signed-off-by: Andreas-Joachim Peters <andreas.joachim.peters@cern.ch>
2015-03-20 10:56:46 +01:00
Loic Dachary
b5e82bb8c5 Merge pull request #4084 from ceph/wip-switch-to-breathe
Wip switch to breathe

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-03-20 10:33:10 +01:00
Kefu Chai
9e9595291d doc: s/Asphyxiate/Breathe/ in documenting.rst
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-03-20 17:17:53 +08:00
Kefu Chai
e69e85079b doc: enable doxygen for enum
* since we switched to breathe, which supports rendering enum
  types

Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-03-20 17:17:53 +08:00
Kefu Chai
cd69ded7af doc: Switch doxygen integration back to breathe
* asphyxiate needs more toolings, see
  https://github.com/ceph/asphyxiate/issues/1
* this commit basically reverts c96064
* use `autodoxygen` directive to doxygen referenced source files
* do not call `doxygen` explicitly in `build-doc`, `autodoxygen`
  will take care of it.

Fixes: #6115
Fixes: #6115
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-03-20 17:17:16 +08:00
Haomai Wang
f31ffa7549 Merge pull request #3983 from yuyuyu101/wip-async-fix-3
Wip async fix 3

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-20 11:23:18 +08:00
Haomai Wang
b0c30f6743 Thread.cc: Make set_affinity private and correct behavior
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2015-03-20 11:00:56 +08:00
Sage Weil
b509bc7931 doc/release-notes: more hammer release notes
Signed-off-by: Sage Weil <sage@redhat.com>
2015-03-19 17:24:33 -07:00
Sage Weil
c56773021c Merge pull request #4085 from ceph/wip-11160
rgw: don't use rgw_socket_path if frontend is configured

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-19 17:19:59 -07:00
Sage Weil
bf814d5248 doc/release-notes: make hammer note about filestore format upgrade
Signed-off-by: Sage Weil <sage@redhat.com>
2015-03-19 17:16:15 -07:00
John Spray
8af2b43263 Merge pull request #3885 from Ved-vampir/master
common: add perf counters description

Reviewed-by: John Spray <john.spray@redhat.com>
2015-03-19 22:05:31 +00:00
John Spray
3ee11b567c Merge pull request #3840 from ceph/wip-libcephfs-fsetxattr
libcephfs: add ceph_f{get,set,list,remove)_xattr

Reviewed-by: John Spray <john.spray@redhat.com>
2015-03-19 22:03:04 +00:00
John Spray
67fdb1c16c Merge pull request #3750 from ceph/wip-dump-cache
mds: Add 'dump cache' asok

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-03-19 22:00:48 +00:00
John Spray
936e003c95 mds: implement 'dump cache' asok command
Retains old text format output when user specifies
a filename, else returns JSON.  JSON output will
cope less well with large caches, but will be more
useful for automated tests.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-19 21:27:35 +00:00
John Spray
abb4a73ac9 mds: use MDSCacheObject::dump in CDir::dump
Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-19 21:27:34 +00:00
John Spray
107e7c9712 mds: add CDentry::dump
Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-19 21:27:34 +00:00
John Spray
a33d1694d9 mds: extended dump() for CInode
Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-19 21:27:34 +00:00
John Spray
9184e1ddad mds: add dump() to MDSCacheObject
Subclasses extend this with their own attributes.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-19 21:27:34 +00:00
John Spray
5ca0095bb2 mds: add SimpleLock::dump
Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-19 21:27:34 +00:00
John Spray
75ff9d6926 mds: add a dump() method to MutationImpl
This is just an externally callable wrapper
to _dump that doesn't require caller
to pass in a time.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-19 21:27:34 +00:00
John Spray
842a4c32d3 include/frag: add a dump() method to fragtree_t
Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-19 21:27:34 +00:00
John Spray
62ee84eb36 mds: move auth_pins attrs into MDSCacheObject
These were common between CInode, CDir, CDentry.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-19 21:27:32 +00:00
Sage Weil
bc7f6ced69 Merge branch 'master' of github.com:ceph/ceph 2015-03-19 13:05:01 -07:00
Sage Weil
d26a9dce5e Merge remote-tracking branch 'gh/hammer'
Conflicts:
	PendingReleaseNotes
	src/Makefile.am
	src/gmock
	src/test/Makefile.am
2015-03-19 12:41:04 -07:00
Josh Durgin
634c5a9443 Merge pull request #4035 from ceph/wip-11113
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-03-19 11:47:55 -07:00
Sage Weil
cfecd125fe Merge pull request #3988 from ceph/wip-refine-build-configuration-hammer
Refine build configuration for hammer

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-19 11:31:31 -07:00
Yehuda Sadeh
43ee14342f Merge pull request #4104 from rzarzynski/wip-11148
rgw: rectify 202 Accepted in response for PUT on already existing bucket

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-03-19 09:57:30 -07:00
Samuel Just
91a5816702 Merge pull request #4105 from athanatos/wip-11110
Wip 11110

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-19 09:41:58 -07:00
Yehuda Sadeh
f96d58bd88 init-radosgw*: don't require rgw_socket_path to be defined
Fixes: #11159
Backport: hammer, firefly

Scripts required rgw_socket_path to exist in order to start radosgw.
This is not needed.

Reported-by: Dan Mick <dmick@redhat.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 6823bcdcd0)
2015-03-19 09:18:25 -07:00
Sage Weil
e361066f78 Merge pull request #4087 from ceph/wip-11159
init-radosgw*: don't require rgw_socket_path to be defined

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-19 09:12:17 -07:00
Samuel Just
b8fa08c692 Merge pull request #4064 from dachary/wip-10488-jerasure-idempotent
mon: informative message when erasure-code-profile set fails

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-19 08:52:53 -07:00
Samuel Just
3d22b88e49 Merge pull request #4066 from dachary/wip-11144-erasure-code-profile-rm
osd: erasure-code-profile incremental rm before set

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-19 08:52:45 -07:00
Samuel Just
0712d8d90b PG: ensure that info.last_epoch_started only increases
See doc/dev/osd_internals/last_epoch_started.rst

Fixes: #11110
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-03-19 08:41:40 -07:00
Samuel Just
2956ae278d doc: add last_epoch_started.rst
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-03-19 08:41:38 -07:00
Yehuda Sadeh
6c5fe91e2c Merge pull request #4054 from diurchenko/wip-10662
rgw: Swift API. Allows setting attributes with COPY object operation.

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-03-19 07:41:10 -07:00
Radoslaw Zarzynski
3998fe7e02 rgw: rectify 202 Accepted in response for PUT on existing bucket.
Fixes: #11148
Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
2015-03-19 14:59:50 +01:00
Loic Dachary
fe25118b73 Merge pull request #4025 from ceph/wip-fix-configure-noversion
configure.ac: add --disable-gitversion

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-03-19 11:16:43 +01:00
Danny Al-Gaaf
cca067efde configure.ac: add --disable-gitversion
During development each git commit cause currently a complete
rebuild of the source tree. By passing --disable-gitversion to
configure we set a generic version string for ceph to prevent
getting after each commit a new version set.

remove src/check_version and replace with a extended version
of src/make_version which allows detecting changes in .git_version
and ceph_ver.h to avoid not needed updates.

This change also forces to call make_version each time to make
sure that changes from configure or the NO_VERSION env variable
are processed.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2015-03-19 09:38:46 +01:00
Yehuda Sadeh
6823bcdcd0 init-radosgw*: don't require rgw_socket_path to be defined
Fixes: #11159
Backport: hammer, firefly

Scripts required rgw_socket_path to exist in order to start radosgw.
This is not needed.

Reported-by: Dan Mick <dmick@redhat.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-03-18 20:55:24 -07:00