Commit Graph

50990 Commits

Author SHA1 Message Date
Yan, Zheng
d98c516af7 mds: use MDSInternalContextBase instead of Context in scrub stack code
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
82bd4716b2 mds: queue non-recursive scrub to top of scrub stack
non-recursive scrub blocks admin socket, make it have earliest service

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
c8609d1301 Continuation: delete self after calling _done()
make sure Continuation delete itself even when virtual function
_done() is overwrited.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
f8749997a1 mds: improve passed_validation check.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
700e51313a mds: fix typo
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
72b9339e96 mds: and 'force' options to scrub_path asok command
'force' means check whole subtree (don't skip scrubbing entries
not modified since last scrub)

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
f2d01c1863 mds: remove obsoleted FIXME from scrubstack code
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
84ed3cd7b9 mds: make scrubstack queue CInode instead of CDentry
There are two problems that enqueue CDentry in scrub stack. First,
the scrub stack code can't handle base inodes; second, the linkage
of a CDentry can change in the middle of scrubbing, this can confuse
the scrub stack code.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
f13fb47902 mds: don't ignore scrubbing non-regular non-directory inodes
The overhead of scrubbing them is low, so don't treat them specially.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
2a671521fc mds: and 'recursive/repair' options to scrub_path asok command
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
6cda4de902 mds: remove old scrub_dentry code
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
a51fd65621 mds: use scrubstack code to scrub single dentry
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
db12397ff1 mds: handle non-recursive scrubbing
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
dad48ecb13 mds: store ScrubHeader refernce in CInode's scrub_info_t
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
f2de29e3a1 mds: scrub fragstat.mtime and rstat.rctime
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
e3fdaae926 mds: set bad dirfrag's version to 1
there are lots of places assume 'version == 0' means dirfrag is
uninitialized

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:13 +08:00
Yan, Zheng
a2def5e29f mds: don't getxattr and setxattr at the same time
If an osd request contains write operation, the reply will not
carry output data. So we can't getxattr and setxattr in single
OSD request.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:12 +08:00
Yan, Zheng
1cc9d52ef7 mds: check all items even when CInode::validate_disk_state() finds errors
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:12 +08:00
Yan, Zheng
e900ea436f mds: repair fragstat/rstat errors in inode
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:12 +08:00
Yan, Zheng
7760fc2bad mds: repair fragstat/rstat errors in dirfrag
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:12 +08:00
Yan, Zheng
5a9944d731 mds: properly free CInode::ValidationContinuation
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:12 +08:00
Yan, Zheng
94bc0fb373 mds: don't crash when scrub finds bad fragstat/rstat
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:12 +08:00
Yan, Zheng
a9ca637fca mds: check both frag_stat and nest_stat when validating inode
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:12 +08:00
Yan, Zheng
f29091b5c5 mds: check dirfrag rstat when dirfrag is fetched
This avoids the problem that dirfrag becomes imcomplete before
ValidationContinuation::_dirfrags() get called;

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:12 +08:00
Yan, Zheng
0ea991e45b mds: skip scrubbing dentries not modified since last scrub
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-03-07 15:59:12 +08:00
Piotr Dałek
5810eb0f60 tools/rados: reduce rados put memory usage by op_size
indata.append(char*, len) causes buffer "buf" to be physically copied
to new memory block. Make static buffer pointing to buf so we don't need
any intermediate copies. This reduces memory usage by op_size, and also
cpu usage by a bit (no memmove necessary).

Signed-off-by: Piotr Dałek <piotr.dalek@ts.fujitsu.com>
2016-03-07 08:26:37 +01:00
Brad Hubbard
11222c5c59 cmake: Remove duplicate find_package libcurl line.
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2016-03-07 14:12:31 +10:00
Loic Dachary
7e95acb494 Merge pull request #7946 from SUSE/wip-doc-dev-teuth
doc/dev: integrate testing into the narrative

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2016-03-07 10:12:28 +07:00
Brad Hubbard
d6a48d968a cls_hello: Fix grammatical error in description comment
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2016-03-07 12:30:11 +10:00
Nathan Cutler
5b570653f5 doc/dev: integrate testing into the narrative
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-06 20:41:35 +01:00
Avner BenHanoch
c823018947 msg: remove duplicated code - local_delivery will now call 'enqueue'
This simplify the code and clarify that for each local message,
 'local_delivery_thread' simply tries to 'fast_dispatch' it,
 or it will 'enqueue' it for the dispatch_thread (like any standard message)

Signed-off-by: Avner BenHanoch <avnerb@mellanox.com>
2016-03-06 11:00:28 +02:00
Wei Jin
e9046700d9 Event: fix clock skew problem
Default constructor of utime_t generates the same default time value,
so after the loop, we only keep the last list from map 'time_events'
into map 'change', thus it will lead to time event lost if swap them.

Signed-off-by: Wei Jin <wjin.cn@gmail.com>
2016-03-06 16:03:21 +08:00
Yehuda Sadeh
6018ccd6c4 Merge pull request #7862 from theanalyst/rgw/doc-insecure-keystone
doc: rgw explain keystone's verify ssl switch

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2016-03-05 09:29:46 -08:00
Yehuda Sadeh
a794ea5f7e Merge pull request #7887 from cbodley/wip-rgw-test-multi-period
test/rgw: add multisite test for meta sync across periods

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2016-03-05 09:25:27 -08:00
Yehuda Sadeh
2286463b15 Merge pull request #7827 from cbodley/wip-rgw-period-meta-logs
rgw: fixes for per-period metadata logs

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2016-03-05 09:25:01 -08:00
Loic Dachary
a9493f23ce Merge pull request #7941 from SUSE/wip-teuos-intro
doc: detailed description of bugfixing workflow

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2016-03-05 21:55:13 +07:00
Nathan Cutler
a0572bc55c doc: detailed description of bugfixing workflow
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-05 15:54:09 +01:00
Javier M. Mellid
602c61b357 rgw: fix usage log aggregation
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2016-03-05 13:08:10 +01:00
Javier M. Mellid
59d098c777 rgw: avoid showing payer when payer == owner
If the payer matches the owner it shows the owner only.

Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2016-03-05 09:49:45 +01:00
Javier M. Mellid
c0074935d1 rgw: add virtual error bucket per user in usage logs
Log under the virtual error bucket '-' when bucket not found

Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2016-03-05 09:49:45 +01:00
Loic Dachary
19f6c8d488 Merge pull request #7933 from ceph/wip-doc-dist-ceph-detect-init
doc: add ceph-detect-init(8) source to dist tarball

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2016-03-05 08:09:36 +07:00
Zack Cerza
2c23b6a9d3 Merge pull request #7938 from dmick/jewel
debian/changelog: Remove stray 'v' in version
2016-03-04 16:19:30 -07:00
Dan Mick
d0c57aec97 debian/changelog: Remove stray 'v' in version
Signed-off-by: Dan Mick <dan.mick@redhat.com>
(cherry picked from commit 0f7730c8f4)
2016-03-04 14:53:23 -08:00
Josh Durgin
56ca57329b Merge pull request #7937 from saru95/patch--1
ceph_daemon.py: Resolved ImportError to work with python3

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-03-04 14:45:12 -08:00
Zack Cerza
28cc0ca66d Merge pull request #7936 from ceph/wip-fix-debian-build
debian/changelog: Remove stray 'v' in version
2016-03-04 15:12:37 -07:00
Sarthak Munshi
9e47cef30c ceph_daemon.py: Resolved ImportError to work with python3
Signed-off-by: Sarthak Munshi <sarthakmunshi@gmail.com>
2016-03-05 03:35:50 +05:30
Casey Bodley
9a6771a864 rgw: fix for RGWCoroutinesManager::run() return value
the 'int ret' variable of the inner scope was shadowing an 'int ret'
variable in the outer scope, so we weren't propagating any of the error
codes

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-03-04 17:04:09 -05:00
Casey Bodley
5434db9335 rgw: use current period for InitSyncStatus
the InitSyncStatus coroutine records the position to start incremental
sync after finishing a full sync.  this should be the master's marker
from the current period, rather than its oldest log period

this also adds a check to run_sync() that restarts a full sync if it
sees that our sync period is behind the master's oldest log period

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-03-04 17:04:09 -05:00
Casey Bodley
762c075bb2 rgw: meta log rest handlers avoid get_log()
RGWMetadataManager::get_log() will allocate a log and keep it in memory.
this could lead to a potential denial of service by making requests with
lots of different period ids

RGWMetadataLog if effectively stateless (the only state is a set of
modified_shards, which are not touched by any of the rest api calls), so
we can use a temporary instead of calling get_log()

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-03-04 17:04:09 -05:00
Casey Bodley
faa60bc1a9 rgw: pull first log period from master if not found locally
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-03-04 17:04:09 -05:00