]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agotest: check python rados aio_read with buffers containing null 2545/head
Loic Dachary [Sat, 20 Sep 2014 10:41:30 +0000 (12:41 +0200)]
test: check python rados aio_read with buffers containing null

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

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agopybind: Fix aio_read handling of string buffer
Mohammad Salehe [Sun, 25 May 2014 06:12:11 +0000 (10:42 +0430)]
pybind: Fix aio_read handling of string buffer

Read data may contain \0, and buf.value interprerts them as string terminator.

Signed-off-by: Mohammad Salehe <salehe+dev@gmail.com>
10 years agoMerge pull request #2542 from ceph/wip-9539
Yan, Zheng [Fri, 19 Sep 2014 22:25:19 +0000 (06:25 +0800)]
Merge pull request #2542 from ceph/wip-9539

Filer: add lock to protect struct PurgeRange

10 years agoFiler: add lock to protect strcut PurgeRange 2542/head
Yan, Zheng [Fri, 19 Sep 2014 20:27:38 +0000 (04:27 +0800)]
Filer: add lock to protect strcut PurgeRange

Fix: #9539
Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agoMerge pull request #2534 from dachary/wip-9537-erasure-code-assert
Sage Weil [Fri, 19 Sep 2014 21:40:05 +0000 (14:40 -0700)]
Merge pull request #2534 from dachary/wip-9537-erasure-code-assert

erasure-code: fix assert overflow

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge remote-tracking branch 'wonzhq/req-pending' into giant
Samuel Just [Fri, 19 Sep 2014 20:42:16 +0000 (13:42 -0700)]
Merge remote-tracking branch 'wonzhq/req-pending' into giant

10 years agoMerge remote-tracking branch 'somnathr/wip-optracker-optimization' into giant
Samuel Just [Fri, 19 Sep 2014 20:34:44 +0000 (13:34 -0700)]
Merge remote-tracking branch 'somnathr/wip-optracker-optimization' into giant

10 years agorgw_main.cc: add missing virtual destructor for RGWRequest
Danny Al-Gaaf [Fri, 19 Sep 2014 10:25:07 +0000 (12:25 +0200)]
rgw_main.cc: add missing virtual destructor for RGWRequest

CID 1160858 (#1 of 1): Non-virtual destructor (VIRTUAL_DTOR)
 nonvirtual_dtor: Class RGWLoadGenRequest has a destructor
 and a pointer to it is upcast to class RGWRequest which doesn't
 have a virtual destructor.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
(cherry picked from commit b82ceda7775ff85943d9143b73789eb37b09bfa9)

10 years agoos/GenericObjectMap.cc: pass big parameter by reference
Danny Al-Gaaf [Fri, 19 Sep 2014 10:06:49 +0000 (12:06 +0200)]
os/GenericObjectMap.cc: pass big parameter by reference

CID 1188142 (#1 of 1): Big parameter passed by value (PASS_BY_VALUE)
 pass_by_value: Passing parameter header of type
 GenericObjectMap::_Header (size 176 bytes) by value.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
(cherry picked from commit 13b8c92a290ea078af26638fbd23bdb2b8c27bdf)

10 years agomds/Beacon.*: fix UNINIT_CTOR cases
Danny Al-Gaaf [Wed, 17 Sep 2014 17:31:13 +0000 (19:31 +0200)]
mds/Beacon.*: fix UNINIT_CTOR cases

CID 1238905 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
 uninit_member: Non-static class member want_state is not initialized
  in this constructor nor in any functions that it calls.
 uninit_member: Non-static class member last_send is not initialized
  in this constructor nor in any functions that it calls.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
(cherry picked from commit ff6148324ad0957f74e8b4b49c1a1e8df9fb94e4)

10 years agoErasureCodeLrc.h: fix UNINIT_CTOR
Danny Al-Gaaf [Wed, 17 Sep 2014 17:28:11 +0000 (19:28 +0200)]
ErasureCodeLrc.h: fix UNINIT_CTOR

Fix Coverity issue, preinit with 0:

uninit_member: Non-static class member chunk_count is not initialized
 in this constructor nor in any functions that it calls.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
(cherry picked from commit ea02dc37dc92613d2d35b9572e72c3b9ab6bbb69)

10 years agoErasureCodeLrc.h: fix data_chunk_count UNINIT_CTOR
Danny Al-Gaaf [Wed, 17 Sep 2014 16:56:00 +0000 (18:56 +0200)]
ErasureCodeLrc.h: fix data_chunk_count UNINIT_CTOR

CID 1238903 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
 uninit_member: Non-static class member data_chunk_count is not
 initialized in this constructor nor in any functions that it calls.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
(cherry picked from commit 2bb35bba995af1983a81669711fda7855e1ce532)

10 years agoLogEntry.h: init LogEntry::seq with 0
Danny Al-Gaaf [Wed, 17 Sep 2014 07:35:15 +0000 (09:35 +0200)]
LogEntry.h: init LogEntry::seq with 0

CID 1238904 (#1 of 1): Uninitialized scalar variable (UNINIT)
 uninit_use_in_call: Using uninitialized value e.seq when calling
 log_to_syslog.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
(cherry picked from commit 2c2b413ee0af2a151999fcf72f44745b0a9d4ab2)

10 years agoMerge pull request #2539 from ceph/wip-9529
Sage Weil [Fri, 19 Sep 2014 18:13:48 +0000 (11:13 -0700)]
Merge pull request #2539 from ceph/wip-9529

Wip 9529

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agorgw: calculate hash after writing data 2539/head
Yehuda Sadeh [Fri, 19 Sep 2014 03:53:10 +0000 (20:53 -0700)]
rgw: calculate hash after writing data

Since data is written asynchronously, we should do the hash calculation
while it's pending.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agocrypto: don't hash zero sized buffer
Yehuda Sadeh [Fri, 19 Sep 2014 03:51:02 +0000 (20:51 -0700)]
crypto: don't hash zero sized buffer

libnss returns an error and we assert in that case.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #2517 from athanatos/wip-9326
Samuel Just [Fri, 19 Sep 2014 17:31:13 +0000 (10:31 -0700)]
Merge pull request #2517 from athanatos/wip-9326

DBObjectMap: restructure map_header_in_use locking

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2533 from dachary/wip-9538-format-plain
John Spray [Fri, 19 Sep 2014 15:59:01 +0000 (16:59 +0100)]
Merge pull request #2533 from dachary/wip-9538-format-plain

mon: osd find / metadata --format plain fallback

Reviewed-by: John Spray <john.spray@redhat.com>
10 years agoerasure-code: fix assert overflow 2534/head
Loic Dachary [Fri, 19 Sep 2014 14:13:53 +0000 (16:13 +0200)]
erasure-code: fix assert overflow

If the file size does not fit in 32 bits the (unsigned) cast will
overflow. Cast to uint64_t which is the type of the value returned by
get_total_chunk_size.

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

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agomon: osd find / metadata --format plain fallback 2533/head
Loic Dachary [Fri, 19 Sep 2014 13:28:36 +0000 (15:28 +0200)]
mon: osd find / metadata --format plain fallback

ceph --format plain osd find 1 (and metadata) are not implemented and
must fallback to the default (json-pretty).

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

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoMerge pull request #2505 from dachary/wip-8914-unlink-fdcache
Loic Dachary [Fri, 19 Sep 2014 11:43:09 +0000 (13:43 +0200)]
Merge pull request #2505 from dachary/wip-8914-unlink-fdcache

os: FileStore::lfn_unlink always clears FDCache

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2521 from athanatos/wip-9453
Sage Weil [Thu, 18 Sep 2014 19:55:49 +0000 (12:55 -0700)]
Merge pull request #2521 from athanatos/wip-9453

osd_types: fix pg_log_t tail dump

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2519 from athanatos/wip-9482
Sage Weil [Thu, 18 Sep 2014 19:55:09 +0000 (12:55 -0700)]
Merge pull request #2519 from athanatos/wip-9482

PG::find_best_info: let history.last_epoch_started provide a lower bound

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2520 from athanatos/wip-9497
Sage Weil [Thu, 18 Sep 2014 18:42:06 +0000 (11:42 -0700)]
Merge pull request #2520 from athanatos/wip-9497

PG::choose_acting: let the pg go down if acting is smaller than min_size

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2518 from athanatos/wip-9481
Sage Weil [Thu, 18 Sep 2014 18:02:04 +0000 (11:02 -0700)]
Merge pull request #2518 from athanatos/wip-9481

PGLog::claim_log_and_clear_rollback_info: fix rollback_info_trimmed_to

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2522 from athanatos/wip-8315
Sage Weil [Thu, 18 Sep 2014 18:00:45 +0000 (11:00 -0700)]
Merge pull request #2522 from athanatos/wip-8315

ReplicatedPG: cancel cb on blacklisted watcher

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agomds: fix not journaling client metadata
John Spray [Thu, 18 Sep 2014 09:29:06 +0000 (10:29 +0100)]
mds: fix not journaling client metadata

Previously the code was there for storing in
the SessionMap table, but not for the ESession
logevent.

Fixes: #9518
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit 1395275e0f4d12631b1e4074598a7682810f00f9)

10 years agoMerge pull request #2498 from ceph/wip-objecter-cancel
John Spray [Wed, 17 Sep 2014 18:07:22 +0000 (19:07 +0100)]
Merge pull request #2498 from ceph/wip-objecter-cancel

osdc/Objecter: cancel timeout before clearing op->session

Reviewed-by: John Spray <john.spray@redhat.com>
10 years agoMerge pull request #2513 from ceph/wip-decode-dump
Gregory Farnum [Wed, 17 Sep 2014 17:15:03 +0000 (10:15 -0700)]
Merge pull request #2513 from ceph/wip-decode-dump

msg: dump messages we can' decode at a low devel level

Reviewed-by: Greg Farnum <greg@inktank.com>
10 years agomsg: hexdump bad messages at debug level 1 (not 30) 2513/head
Sage Weil [Wed, 17 Sep 2014 16:53:36 +0000 (09:53 -0700)]
msg: hexdump bad messages at debug level 1 (not 30)

These are rare, and when they do happen, we want to see them in the
logs.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agomsg: hexdump messages we can't decode at configurable debug level
Sage Weil [Wed, 17 Sep 2014 16:52:54 +0000 (09:52 -0700)]
msg: hexdump messages we can't decode at configurable debug level

We had this hard-coded to 30.  Make it tunable.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2512 from dachary/wip-9490-crushtool-num-rep
John Spray [Wed, 17 Sep 2014 12:59:33 +0000 (13:59 +0100)]
Merge pull request #2512 from dachary/wip-9490-crushtool-num-rep

Revert "crushtool: safeguard for missing --num-rep when --test"

Reviewed-by: John Spray <john.spray@redhat.com>
10 years agoRevert "crushtool: safeguard for missing --num-rep when --test" 2512/head
Loic Dachary [Wed, 17 Sep 2014 12:56:10 +0000 (14:56 +0200)]
Revert "crushtool: safeguard for missing --num-rep when --test"

This reverts commit 10b8966c8da38f8ae5ac7dbb2e16a5e45e502ba3.

10 years agoMerge pull request #2496 from ceph/wip-9189
John Spray [Wed, 17 Sep 2014 12:47:27 +0000 (13:47 +0100)]
Merge pull request #2496 from ceph/wip-9189

#9375 and #9189 - add client metadata and improve health messages

Reviewed-by: Greg Farnum greg@inktank.com
10 years agomds: use new Session::human_name in health msgs 2496/head
John Spray [Wed, 10 Sep 2014 22:28:52 +0000 (23:28 +0100)]
mds: use new Session::human_name in health msgs

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agomds: implement const SessionMap::get_session
John Spray [Wed, 10 Sep 2014 22:28:30 +0000 (23:28 +0100)]
mds: implement const SessionMap::get_session

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agomds: generate friendly name for client sessions
John Spray [Wed, 10 Sep 2014 13:44:36 +0000 (14:44 +0100)]
mds: generate friendly name for client sessions

...from the client metadata, for use in health messages.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoceph_fuse: include mount point in client metadata
John Spray [Tue, 9 Sep 2014 16:12:02 +0000 (17:12 +0100)]
ceph_fuse: include mount point in client metadata

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoclient: send metadata in session open
John Spray [Mon, 8 Sep 2014 22:44:23 +0000 (23:44 +0100)]
client: send metadata in session open

Populated with hostname and entity_id by
default, with interface for outer layers
like ceph_fuse, libcephfs to inject their
own metadata.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoceph_fuse: refactor init to make mount_point accessible
John Spray [Mon, 8 Sep 2014 22:43:20 +0000 (23:43 +0100)]
ceph_fuse: refactor init to make mount_point accessible

...so that we can read out the mount point between init
and start() in order to feed it to Client before it connects
to the MDS.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agomds: include client metadata in `session ls`
John Spray [Tue, 9 Sep 2014 15:43:15 +0000 (16:43 +0100)]
mds: include client metadata in `session ls`

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agomds: store client metadata on Session
John Spray [Mon, 8 Sep 2014 22:40:34 +0000 (23:40 +0100)]
mds: store client metadata on Session

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agomessages: add cephfs client metadata to MClientSession
John Spray [Mon, 8 Sep 2014 22:35:38 +0000 (23:35 +0100)]
messages: add cephfs client metadata to MClientSession

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agomds: collapse numerous client warnings into one
John Spray [Mon, 8 Sep 2014 15:05:17 +0000 (16:05 +0100)]
mds: collapse numerous client warnings into one

...to avoid sending O(N_clients) sized beacons.

Fixes: #9375
Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoMerge pull request #2508 from dachary/wip-9490-crushtool-num-rep
Loic Dachary [Wed, 17 Sep 2014 07:06:44 +0000 (09:06 +0200)]
Merge pull request #2508 from dachary/wip-9490-crushtool-num-rep

crushtool: safeguard for missing --num-rep when --test

Reviewed-by: Johnu George <johnugeorge109@gmail.com>
10 years agoPGLog::claim_log_and_clear_rollback_info: fix rollback_info_trimmed_to 2518/head
Samuel Just [Mon, 15 Sep 2014 22:44:11 +0000 (15:44 -0700)]
PGLog::claim_log_and_clear_rollback_info: fix rollback_info_trimmed_to

We have been setting it to the old head value.  This is usually
harmless since the new head will virtually always be ahead of the
old head for claim_log_and_clear_rollback_info, but can cause trouble
in some edge cases.

Fixes: #9481
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
10 years agoPG::find_best_info: let history.last_epoch_started provide a lower bound 2519/head
Samuel Just [Mon, 15 Sep 2014 23:53:21 +0000 (16:53 -0700)]
PG::find_best_info: let history.last_epoch_started provide a lower bound

If we find a info.history.last_epoch_started above any
info.last_epoch_started, we must be missing updates and
min_last_update_acceptable should provisionally be max().

Fixes: #9482
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
10 years agoPG::choose_acting: let the pg go down if acting is smaller than min_size 2520/head
Samuel Just [Wed, 17 Sep 2014 03:36:51 +0000 (20:36 -0700)]
PG::choose_acting: let the pg go down if acting is smaller than min_size

Even if the backfill peer would bring us up to min_size, we can't go
active since build_prior will not consider the interval maybe_went_rw.

Fixes: #9497
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
10 years agoMerge pull request #2507 from ceph/wip-9435
Gregory Farnum [Wed, 17 Sep 2014 00:37:26 +0000 (17:37 -0700)]
Merge pull request #2507 from ceph/wip-9435

#9435 - enforce rules for using EC/tiered pools with CephFS

Reviewed-by: Greg Farnum <greg@inktank.com>
10 years agomon: forbid tier changes when in use by FS 2507/head
John Spray [Tue, 16 Sep 2014 09:49:15 +0000 (10:49 +0100)]
mon: forbid tier changes when in use by FS

* Removing tiers from a base pool in use by CephFS is forbidden.
* Using CephFS pools as tiers is forbidden.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agomon: prevent cache pools being used CephFS
John Spray [Mon, 15 Sep 2014 19:47:18 +0000 (20:47 +0100)]
mon: prevent cache pools being used CephFS

Fixes two things:
 * EC pools are now permissible if they have a cache overlay
 * Pools are not permissible if they are a cache tier.

Fixes: #9435
Signed-off-by: John Spray <john.spray@redhat.com>
10 years agocrushtool: safeguard for missing --num-rep when --test 2508/head
Loic Dachary [Tue, 16 Sep 2014 18:29:12 +0000 (20:29 +0200)]
crushtool: safeguard for missing --num-rep when --test

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

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoMerge pull request #2497 from ceph/wip-xfs-inode64
Loic Dachary [Tue, 16 Sep 2014 13:12:24 +0000 (15:12 +0200)]
Merge pull request #2497 from ceph/wip-xfs-inode64

ceph-disk: mount xfs with inode64 by default

Reviewed-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agoos: FileStore::lfn_unlink always clears FDCache 2505/head
Loic Dachary [Wed, 3 Sep 2014 12:19:40 +0000 (14:19 +0200)]
os: FileStore::lfn_unlink always clears FDCache

Otherwise the FDCache will keep a file descriptor to a file that was
removed from the file system. This may create various type of errors
because the OSD checking the FDCache will assume the file that contains
information for an object exists although it does not. For instance in
the following:

      * rados put object file
      * rm file from the primary
      * repair the pg to which the object is mapped

if the FDCache is not cleared, repair will incorrectly pull a copy from
a replica and write it to the now unlinked file. Later on, it will
assume the file exists on the primary and only be partially correct :
the data can still be accessed via the file descriptor but any operation
using the path name will fail.

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

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agotests: set the failure domain to OSD by default
Loic Dachary [Wed, 3 Sep 2014 12:18:48 +0000 (14:18 +0200)]
tests: set the failure domain to OSD by default

So that tests do not need to do it to be able to use the default rbd
pool to store objects.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agotests: add get_osds() and get_pg() helpers
Loic Dachary [Wed, 3 Sep 2014 12:17:17 +0000 (14:17 +0200)]
tests: add get_osds() and get_pg() helpers

To get the ordered list of OSD to which an object is mapped and the name
of the corresponding PG.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoMerge pull request #2499 from ceph/wip-9219-giant
Sage Weil [Tue, 16 Sep 2014 00:40:28 +0000 (17:40 -0700)]
Merge pull request #2499 from ceph/wip-9219-giant

wip-9219: subscribe to the newest osdmap when reconnecting to a monitor

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoosd: subscribe to the newest osdmap when reconnecting to a monitor 2499/head
Greg Farnum [Tue, 16 Sep 2014 00:07:41 +0000 (17:07 -0700)]
osd: subscribe to the newest osdmap when reconnecting to a monitor

This is mostly relevant in testing clusters, but it ensures that an OSD
disconnecting from the monitor at the wrong time will still see any recent
map updates and prevent accidental loss of map injection into the OSD cluster.
Fixes: #9219
Signed-off-by: Greg Farnum <greg@inktank.com>
10 years agoosdc/Objecter: fix command op cancellation race 2498/head
Sage Weil [Mon, 15 Sep 2014 23:45:19 +0000 (16:45 -0700)]
osdc/Objecter: fix command op cancellation race

Cancel the command op timeout event before we clear out the op from the
session struct.  This isn't strictly necessary because command_op_cancel
will "gracefully" handle the case where the tid is no longer present, but
this avoids that noise and is cleaner.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosdc/Objecter: cancel timeout before clearing op->session
Sage Weil [Mon, 15 Sep 2014 23:40:39 +0000 (16:40 -0700)]
osdc/Objecter: cancel timeout before clearing op->session

The C_CancelOp path assumes op->session != NULL.  Cancel that op before
we clear it.  This fixes a crash like

#0  pthread_rwlock_wrlock () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S:39
#1  0x00007fc82690a4b1 in RWLock::get_write (this=0x18, lockdep=<optimized out>) at ./common/RWLock.h:88
#2  0x00007fc8268f4d79 in Objecter::op_cancel (this=0x1f61830, s=0x0, tid=0, r=-110) at osdc/Objecter.cc:1850
#3  0x00007fc8268ba449 in Context::complete (this=0x1f68c20, r=<optimized out>) at ./include/Context.h:64
#4  0x00007fc8269769aa in RWTimer::timer_thread (this=0x1f61950) at common/Timer.cc:268
#5  0x00007fc82697a85d in RWTimerThread::entry (this=<optimized out>) at common/Timer.cc:200
#6  0x00007fc82651ce9a in start_thread (arg=0x7fc7e3fff700) at pthread_create.c:308

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoceph-disk: mount xfs with inode64 by default 2497/head
Sage Weil [Mon, 15 Sep 2014 22:29:08 +0000 (15:29 -0700)]
ceph-disk: mount xfs with inode64 by default

We did this forever ago with mkcephfs, but ceph-disk didn't.  Note that for
modern XFS this option is obsolete, but for older kernels it was not the
default.

Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2492 from ceph/wip-9284
John Spray [Mon, 15 Sep 2014 22:23:46 +0000 (23:23 +0100)]
Merge pull request #2492 from ceph/wip-9284

#9284 - fix client RECALL handling and add health metrics

Reviewed-by: Greg Farnum <greg@inktank.com>
10 years agoMerge pull request #2476 from ceph/wip-9307
Sage Weil [Mon, 15 Sep 2014 22:19:07 +0000 (15:19 -0700)]
Merge pull request #2476 from ceph/wip-9307

rgw: push hash calculater deeper

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2493 from ceph/wip-rbd-objectcacher-hang
Josh Durgin [Mon, 15 Sep 2014 20:25:33 +0000 (13:25 -0700)]
Merge pull request #2493 from ceph/wip-rbd-objectcacher-hang

rbd: ObjectCacher reads can hang when reading sparse files

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
10 years agoMerge pull request #2495 from dachary/wip-erasure-code-preload
Sage Weil [Mon, 15 Sep 2014 18:26:51 +0000 (11:26 -0700)]
Merge pull request #2495 from dachary/wip-erasure-code-preload

erasure-code: preload fails if < 0

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoerasure-code: preload fails if < 0 2495/head
Loic Dachary [Mon, 15 Sep 2014 18:21:14 +0000 (20:21 +0200)]
erasure-code: preload fails if < 0

And not if < -1.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoMerge pull request #2486 from jgalvez/master
Sage Weil [Mon, 15 Sep 2014 16:41:45 +0000 (09:41 -0700)]
Merge pull request #2486 from jgalvez/master

init-radosgw.sysv: Support systemd for starting the gateway

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2472 from dachary/wip-9429-bench
Loic Dachary [Mon, 15 Sep 2014 16:23:08 +0000 (18:23 +0200)]
Merge pull request #2472 from dachary/wip-9429-bench

erasure-code: fix erasure_code_benchmark goop (decode)

Reviewed-by: Janne Grunau <j@jannau.net>
10 years agomds: limit number of caps inspected in caps_tick 2420/head 2492/head
John Spray [Wed, 10 Sep 2014 13:01:54 +0000 (14:01 +0100)]
mds: limit number of caps inspected in caps_tick

This is to avoid hitting an O(caps) loop in the worst
cast scenario.  This mechanism is a little crude but
should be superceded at some point by admin socket
functionality to inspect session caps so that we
don't need to spit out this level of detail in logs.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agomds: keep per-client revoking caps list
John Spray [Wed, 10 Sep 2014 12:37:37 +0000 (13:37 +0100)]
mds: keep per-client revoking caps list

...to avoid doing an O(caps) scan to find out
which clients are responsible for any late-revoking
caps during health checks.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoxlist: implement copy constructor
John Spray [Wed, 10 Sep 2014 12:21:42 +0000 (13:21 +0100)]
xlist: implement copy constructor

...so that I can have a std::map of them.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agomds: health metric for late releasing caps
John Spray [Sun, 7 Sep 2014 15:22:37 +0000 (16:22 +0100)]
mds: health metric for late releasing caps

Follow up on Yan Zheng's "mds: warn clients which
aren't revoking cap" to include a health metric
for this condition as well as the clog messages.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agomon: trigger transaction on MDS health changes
John Spray [Fri, 5 Sep 2014 11:49:53 +0000 (12:49 +0100)]
mon: trigger transaction on MDS health changes

I think this was previously only working as a side effect
of other MDS map changes.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agomds: add a health metric for failure to recall caps
John Spray [Thu, 4 Sep 2014 15:47:38 +0000 (16:47 +0100)]
mds: add a health metric for failure to recall caps

Fixes: #9284
Signed-off-by: John Spray <john.spray@redhat.com>
10 years agomds: add state for tracking RECALL progress
John Spray [Thu, 4 Sep 2014 12:04:18 +0000 (13:04 +0100)]
mds: add state for tracking RECALL progress

To be used later for generating health metrics
for clients which are failing to promptly service
CEPH_SESSION_RECALL_STATE messages.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoxlist: implement const_iterator
John Spray [Fri, 5 Sep 2014 13:10:40 +0000 (14:10 +0100)]
xlist: implement const_iterator

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoclient: fix trim_caps for inodes in root
John Spray [Mon, 8 Sep 2014 00:14:27 +0000 (01:14 +0100)]
client: fix trim_caps for inodes in root

Previously client would fail to release caps for files
in the root directory in response to CEPH_SESSION_RECALL_STATE
messages.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoclient: failure injection for cap release
John Spray [Fri, 5 Sep 2014 12:16:16 +0000 (13:16 +0100)]
client: failure injection for cap release

Used for simulating a buggy client that trips
the error detection in #9282 (warn clients
which aren't revoking caps)

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoclient: fix potentially invalid read in trim_caps
John Spray [Wed, 3 Sep 2014 18:31:38 +0000 (19:31 +0100)]
client: fix potentially invalid read in trim_caps

trim_dentry can potentially free an inode, so get/put
it around the block where we use the inode's dn_set.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoclient: more precise cap trimming
John Spray [Wed, 3 Sep 2014 17:30:00 +0000 (18:30 +0100)]
client: more precise cap trimming

Two fixes:
 * Client would unlink everything it could, instead of just
   meeting its goal, because caps.size() doesn't change until
   dentries are cleaned up later.  Take account of the trimmed
   count in the while() condition to fix that.
 * Don't count the root ino as trimmed, as although it has no
   dentries (of course), we will never give up the cap.

With this change, the client will now precisely achieve the number
of caps requested in CEPH_SESSION_RECALL_STATE messages.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoclient: fix crash in trim_caps
John Spray [Wed, 3 Sep 2014 01:00:33 +0000 (02:00 +0100)]
client: fix crash in trim_caps

In a75af4c2, procedure was added to invalidate root's dentries
if the trimming failed to free enough caps.  This would sometimes
crash because root->dir wasn't necessarily open.

Fix by only doing it if root dir is open, though I suspect this
may not be the end of it...

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoMerge pull request #2485 from Abioy/master
Loic Dachary [Mon, 15 Sep 2014 13:40:44 +0000 (15:40 +0200)]
Merge pull request #2485 from Abioy/master

bugfix: wrong socket address in log msg of Pipe.cc

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
10 years agobugfix: wrong socket address in log msg of Pipe.cc 2485/head
Abioy [Mon, 15 Sep 2014 02:52:47 +0000 (10:52 +0800)]
bugfix: wrong socket address in log msg of Pipe.cc

paddr was not yet set up for the socket address

Signed-off-by: Yongyue Sun abioy.sun@gmail.com
10 years agoMerge pull request #2442 from dachary/wip-6754-jerasure-parameters
Loic Dachary [Mon, 15 Sep 2014 10:24:19 +0000 (12:24 +0200)]
Merge pull request #2442 from dachary/wip-6754-jerasure-parameters

erasure-code: fix BlaumRoth sanity check on w

Reviewed-by: Andreas Peters <andreas.joachim.peters@cern.ch>
10 years agoMerge pull request #2488 from cernceph/docfix
Loic Dachary [Mon, 15 Sep 2014 09:39:46 +0000 (11:39 +0200)]
Merge pull request #2488 from cernceph/docfix

doc: osd_backfill_scan_(min|max) are object counts

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
10 years agodoc: osd_backfill_scan_(min|max) are object counts 2488/head
Dan van der Ster [Mon, 15 Sep 2014 09:23:11 +0000 (11:23 +0200)]
doc: osd_backfill_scan_(min|max) are object counts

osd_backfill_scan_min and osd_backfill_scan_max set the number of
items grabbed during a single backfill scan, not an interval in
seconds. Correct the doc.

Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
10 years agorbd: ObjectCacher reads can hang when reading sparse files 2493/head
Jason Dillaman [Mon, 15 Sep 2014 04:53:50 +0000 (00:53 -0400)]
rbd: ObjectCacher reads can hang when reading sparse files

The pending read list was not properly flushed when empty objects
were read from a space file.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoinit-radosgw.sysv: Support systemd for starting the gateway 2486/head
JuanJose 'JJ' Galvez [Mon, 15 Sep 2014 03:38:20 +0000 (20:38 -0700)]
init-radosgw.sysv: Support systemd for starting the gateway

When using RHEL7 the radosgw daemon needs to start under systemd.

Check for systemd running on PID 1. If it is then start
the daemon using: systemd-run -r <cmd>. pidof returns null
as it is executed too quickly, adding one second of sleep and
script reports startup correctly.

Signed-off-by: JuanJose 'JJ' Galvez <jgalvez@redhat.com>
10 years agoMerge pull request #2484 from sjahl/master
Loic Dachary [Sun, 14 Sep 2014 15:46:04 +0000 (17:46 +0200)]
Merge pull request #2484 from sjahl/master

doc: Added bucket management commands to ops/crush-map

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
10 years agodoc: Added bucket management commands to ops/crush-map 2484/head
Stephen Jahl [Sun, 14 Sep 2014 14:41:16 +0000 (10:41 -0400)]
doc: Added bucket management commands to ops/crush-map

Describes the CLI for adding and removing buckets, in addition to the
'moving' instructions which were already present.

Signed-off-by: Stephen Jahl <stephenjahl@gmail.com>
10 years agoMerge remote-tracking branch 'gh/giant'
Sage Weil [Sun, 14 Sep 2014 04:20:33 +0000 (21:20 -0700)]
Merge remote-tracking branch 'gh/giant'

10 years agoMerge pull request #2481 from sjahl/master
Sage Weil [Sat, 13 Sep 2014 19:46:24 +0000 (12:46 -0700)]
Merge pull request #2481 from sjahl/master

doc: fixes a formatting error on ops/crush-map

10 years agodoc: fixes a formatting error on ops/crush-map 2481/head
Stephen Jahl [Sat, 13 Sep 2014 19:31:53 +0000 (15:31 -0400)]
doc: fixes a formatting error on ops/crush-map

Signed-off-by: Stephen Jahl <stephenjahl@gmail.com>
10 years agoMerge pull request #2467 from majianpeng/fix3
Loic Dachary [Sat, 13 Sep 2014 15:56:16 +0000 (17:56 +0200)]
Merge pull request #2467 from majianpeng/fix3

buffer: In rebuild_page_aligned for the last ptr is page aligned, no need call rebuild().

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
10 years agoMerge pull request #2478 from ceph/wip-9445
Loic Dachary [Sat, 13 Sep 2014 15:32:57 +0000 (17:32 +0200)]
Merge pull request #2478 from ceph/wip-9445

global: fix hang when segv happens inside logging code

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
10 years agoMerge pull request #2477 from ceph/wip-client-msg-leak
Yan, Zheng [Sat, 13 Sep 2014 00:42:15 +0000 (08:42 +0800)]
Merge pull request #2477 from ceph/wip-client-msg-leak

client: fix a message leak

10 years agomds: update segment references during journal rewrite
John Spray [Thu, 11 Sep 2014 13:07:59 +0000 (14:07 +0100)]
mds: update segment references during journal rewrite

... to avoid leaving log events that reference log
segments by offsets which no longer exist.

Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit 386f2d7c829422695a1b1f41bd3f17ca3eef1f61)
Reviewed-by: Greg Farnum <greg@inktank.com>
10 years agoMerge pull request #2469 from ceph/wip-9427-rewrite
Gregory Farnum [Sat, 13 Sep 2014 00:35:54 +0000 (17:35 -0700)]
Merge pull request #2469 from ceph/wip-9427-rewrite

mds: update segment references during journal rewrite

Reviewed-by: Greg Farnum <greg@inktank.com>
10 years agolog: add simple test to verify an internal SEGV doesn't hang 2478/head
Sage Weil [Sat, 13 Sep 2014 00:18:01 +0000 (17:18 -0700)]
log: add simple test to verify an internal SEGV doesn't hang

Test that the segv injection works.

Test that a segv while logging something doesn't hang when the signal
handlers are installed.  Note that this fails/hangs without the previous
fix.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoclient: fix a message leak 2477/head
John Spray [Fri, 12 Sep 2014 17:42:02 +0000 (18:42 +0100)]
client: fix a message leak

Signed-off-by: John Spray <john.spray@redhat.com>