Commit Graph

41416 Commits

Author SHA1 Message Date
Gregory Farnum
217d222383 Merge pull request #4519 from ceph/wip-flush-log
Flush cluster log before MDS::damaged

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-05-01 13:58:19 -07:00
Josh Durgin
fd69d5db4b Merge pull request #4529 from ceph/wip-librbd-open
librbd: invoking RBD::open twice will leak memory

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-05-01 13:55:33 -07:00
Gregory Farnum
62d5b39abc Merge pull request #4511 from yuyuyu101/wip-async-fix-7
Wip async fix 7

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-05-01 13:55:12 -07:00
Jason Dillaman
05a5f269d0 librbd: object map is not properly updated when deleting clean objects
With the new fast diff feature flagging which objects haven't changed
between snapshots, unmodified objects are now flagged with a new state
code in the object map.  The OBJECT_EXISTS_CLEAN state needs to be
treated as if it were OBJECT_EXISTS when deleting.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-05-01 15:07:40 -04:00
Haomai Wang
72133522c7 atomic_t: change cas to compare_and_swap and return bool
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2015-05-02 03:02:31 +08:00
John Spray
a0f96de277 mds: in damaged() call flush_log before ending
...so that the clog messages we send before damaged()
actually have a chance to make it to the cluster log.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-05-01 19:37:11 +01:00
John Spray
88037760f0 mon: add MonClient::flush_log
A simple reasonable-effort call for emitting
a MLog before shutting down.  Used in MDS which
also waits for its beacon to be acked, so due to
message ordering implicitly waits for this to land
too -- no need to implement a waiting log flush
for this use case.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-05-01 19:37:08 +01:00
Gregory Farnum
4b34584398 Merge pull request #4516 from yuyuyu101/wip-fix-libcephfs-crash
Wip fix libcephfs crash

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-05-01 11:22:59 -07:00
Jason Dillaman
a5e88fcf11 librbd: invoking RBD::open twice will leak memory
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-05-01 14:21:35 -04:00
Sage Weil
11066a39b8 Merge pull request #4492 from SUSE/wip-suse-firewall
packaging: add SuSEfirewall2 service files

Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-01 11:14:01 -07:00
Yehuda Sadeh
fb693a3d1a Merge pull request #4468 from cernceph/swifty
Swift: Set Content-Length when requesting/checking Keystone tokens

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-05-01 10:36:53 -07:00
Samuel Just
c6c6b203ef Merge pull request #4008 from SUSE/wip-tcmalloc-conditionals
Conditional-compile against minimal tcmalloc.

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-05-01 09:34:06 -07:00
Sage Weil
29ee7953c9 Merge pull request #3429 from liewegas/wip-precalc-pgtemp
RFC: mon: prime pg_temp when osdmap changes

Reviewed-by: Guang Yang <yguang@yahoo-inc.com>
Tested-by: Zhi (David) Zhang <zhangz@yahoo-inc.com>
2015-05-01 09:24:33 -07:00
Sage Weil
8d596bfa24 Merge branch 'wip-journal-header' of git://github.com/XinzeChi/ceph
Conflicts:
	src/gmock
2015-05-01 09:22:01 -07:00
Samuel Just
b5fa1607ee Merge pull request #3474 from majianpeng/fix5
buffer: optimize get_contiguous

Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-01 09:17:54 -07:00
Sage Weil
a38baa016e Merge pull request #3896 from ceph/wip-auth
auth: optimize crypto key handling, msg sig checks

Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-01 09:17:13 -07:00
Sage Weil
eba5956986 Merge pull request #3975 from wonzhq/skip-cache
osd: flush/evict op fixes

Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-01 09:16:05 -07:00
Sage Weil
cb979eb585 Merge pull request #4362 from XinzeChi/wip-tier-lat
osd: misc latency perf counter for tier pool

Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-01 09:15:24 -07:00
Sage Weil
b76d0ffd6b Merge pull request #4393 from majianpeng/copyget-flags
For CEPH_OSD_OP_COPY_GET, add a new filed: flags.

Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-01 09:15:07 -07:00
Samuel Just
071b07e27f Merge pull request #3564 from guangyy/wip-10198
osd: break the handling of PG removal event into multiple iterations

Reviewed-by: Samuel Just <sjust@redhat.com>
2015-05-01 09:07:20 -07:00
Samuel Just
94a701a553 Merge pull request #3004 from guangyy/wip-10183
Add a new tick timer which does not need to hold osd_lock, put sched_scrub to that tick timer

Reviewed-by: Samuel Just <sjust@redhat.com>
2015-05-01 09:01:47 -07:00
Samuel Just
47725aa6d2 Merge pull request #3659 from SUSE/wip-fix-calamari-health
Always provide summary for non-healthy cluster.

Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-01 08:08:22 -07:00
Samuel Just
8988cb3804 Merge pull request #3702 from mslovy/wip-fineGrain-submitManagerLock
FileStore:: queue_transactions, fine-grain submitManager lock

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-01 08:00:56 -07:00
Samuel Just
23ff52f730 Merge pull request #3919 from guangyy/wip-9558
osd : populate the needs_recovery_map source fast when only one peer has missing

Reviewed-by: Samuel Just <sjust@redhat.com>
2015-05-01 07:27:26 -07:00
Yan, Zheng
585bc2bc6a mds: send FLUSHSNAP_ACK even if FLUSHSNAP message is unexpected
MDS should send FLUSHSNAP_ACK even if FLUSHSNAP message is unexpected.
This is because client does not release corresponding resources until
it get the FLUSHSNAP_ACK

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2015-05-01 21:43:43 +08:00
Samuel Just
fbfd50de5b OSD: handle the case where we resurrected an old, deleted pg
Prior to giant, we would skip pgs in load_pgs which were not present in
the current osdmap.  Those pgs would eventually refer to very old
osdmaps, which we no longer have causing the assertion failure in 11429
once the osd is finally upgraded to a version which does not skip the
pgs.  Instead, if we do not have the map for the pg epoch, complain to
the osd log and skip the pg.

Fixes: 11429
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-05-01 06:38:12 -07:00
Kefu Chai
32b8bf57f0 test: update CMakefile to sync with c44f8e7
* remove unused src/test/fsx.c, see
  qa/workunits/suites/fsx.sh

Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-01 21:03:05 +08:00
Haomai Wang
b7f432808d systest_runnable: adjust argument to suite Preforker
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2015-05-01 20:27:41 +08:00
John Spray
96992466ee mds: handle missing mydir dirfrag
Previously, if the mydir dirfrag was missing, then
creating stray dirs would assert out when trying
to project_fnode().

Signed-off-by: John Spray <john.spray@redhat.com>
2015-05-01 13:00:57 +01:00
John Spray
6cb1f6cca7 mds: handle missing/corrupt data during boot
These errors trickle up to boot_start from e.g.
CInode::_fetched when something goes wrong.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-05-01 13:00:57 +01:00
John Spray
816d9e0348 mds: error handling in CInode::_fetched
For cases where inode is absent, or is not
decodeable.  Previously would get nasty end_of_buffer
crashes in these cases.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-05-01 13:00:57 +01:00
John Spray
4730a4580e mds: remove redundant 'journal' file open
Follow up to " mds: remove redundant journal inode", for
the case in open_root as opposed to create_mydir

Signed-off-by: John Spray <john.spray@redhat.com>
2015-05-01 13:00:57 +01:00
John Spray
69a54e7bb4 mds: handle case where rank 0 has no subtrees
Previously we always asked for STOPPING in this case,
but in the case of rank 0 it's definitely an error
condition indicating repair is needed.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-05-01 13:00:57 +01:00
John Spray
7252975ef8 mds: handle corrupt dentry more cleanly
Calling damaged() on the rank is overkill, but until
we have a mechanism to selectively handle damaged
paths, it's better than killing the daemon.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-05-01 13:00:57 +01:00
John Spray
49efdb8bef mds: more damaged() handling in MDLog
Specifically, the case where journal header objects
are unreadable (such as because they've been lost).

Signed-off-by: John Spray <john.spray@redhat.com>
2015-05-01 13:00:56 +01:00
Haomai Wang
de5717eb9a ceph_mon: output preforker error message
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2015-05-01 15:05:32 +08:00
Haomai Wang
9e1514cff2 Preforker: Add child process exit status check
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2015-05-01 15:05:23 +08:00
Haomai Wang
3f969d60cd systest_runnable: Use Preforker to do fork
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2015-05-01 12:55:09 +08:00
Haomai Wang
e0b389ac7b test_libcephfs: Add tests to cover zero length write
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2015-05-01 11:36:09 +08:00
Ken Dreyer
61cf5da0b5 packaging: mv ceph-objectstore-tool to main ceph pkg
This change ensures that the ceph-objectstore-tool utility is present on
all OSDs.  This makes it easier for users to run this tool to do manual
debugging/recovery in some scenarios.

http://tracker.ceph.com/issues/11376 Refs: #11376

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-04-30 15:53:22 -06:00
Gregory Farnum
5ea754a7dd Merge pull request #4493 from ceph/wip-use-get-linux-version
use get_linux_version() instead ad-hoc uname().release parsing

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-04-30 13:40:03 -07:00
Haomai Wang
735ab91f3c Client: Fast return if len is 0
If len == 0,
osdc/Striper.cc: 50: FAILED assert(len > 0)
 2: (Striper::file_to_extents(CephContext*, char const*, ceph_file_layout const*, unsigned long, unsigned long, unsigned long, std::map<object_t, std::vector<ObjectExtent, std::allocator<ObjectExtent> >, std::less<object_t>, std::allocator<std::pair<object_t const, std::vector<ObjectExtent, std::allocator<ObjectExtent> > > > >&, unsigned long)+0x1c6) [0x7fd1a0f4f522]
 3: (Striper::file_to_extents(CephContext*, char const*, ceph_file_layout const*, unsigned long, unsigned long, unsigned long, std::vector<ObjectExtent, std::allocator<ObjectExtent> >&, unsigned long)+0x69) [0x7fd1a0f4f315]
 4: (Striper::file_to_extents(CephContext*, inodeno_t, ceph_file_layout const*, unsigned long, unsigned long, unsigned long, std::vector<ObjectExtent, std::allocator<ObjectExtent> >&)+0x8a) [0x7fd1a0ef9c3c]
 5: (ObjectCacher::file_read(ObjectCacher::ObjectSet*, ceph_file_layout*, snapid_t, long, unsigned long, ceph::buffer::list*, int, Context*)+0x7e) [0x7fd1a0efb186]
 6: (Client::_read_async(Fh*, unsigned long, unsigned long, ceph::buffer::list*)+0x4ca) [0x7fd1a0ec90d4]
 7: (Client::_read(Fh*, long, unsigned long, ceph::buffer::list*)+0x3dc) [0x7fd1a0ec8744]
 8: (Client::read(int, char*, long, long)+0x208) [0x7fd1a0ec8100]
 9: (ceph_read()+0x5e) [0x7fd1a0e80603]

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2015-05-01 00:34:54 +08:00
Josh Durgin
0358840a59 Merge pull request #4461 from ceph/wip-11372
librbd: add valgrind memory checks for unit tests

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-04-30 09:21:48 -07:00
Yehuda Sadeh
3842b63a62 Merge pull request #4241 from rzarzynski/wip-11285
rgw: rectify broken statistics on Swift account listing.

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-04-30 08:37:42 -07:00
Yehuda Sadeh
0936aec655 Merge pull request #4432 from big-henry/wip-rgw-listparts
rgw: fix ListParts response

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-04-30 08:32:56 -07:00
Jason Dillaman
2586e3ba1e pybind: fix valgrind warning on rbd_get_parent_info call
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-30 10:56:55 -04:00
Jason Dillaman
5ccc4422d6 osdc: invalid read of freed memory
The bytes not in cache stat was potentially reading the bh length
from a deleted bufferhead.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-30 10:56:54 -04:00
Jason Dillaman
740fd275a6 krbd: fix incorrect types in the krbd API
The C API functions were referencing the C++ CephContext
instead of the C rados_config_t.  Additionally, the ceph
namespace was missing on the Formatter class.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-30 10:56:54 -04:00
Jason Dillaman
c44f8e7fbc fsx: cleanup crypto library at exit
Also made small tweaks so that it can be compiled under
a C++ compiler.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-30 10:56:54 -04:00
Jason Dillaman
6e84ceb418 autotools: detect presence of valgrind
Conditionally enable running librbd unit tests under valgrind.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-30 10:56:54 -04:00