]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
7 years agoceph-objectstore-tool: remove rm-past-intervals op
Sage Weil [Thu, 5 Oct 2017 02:31:12 +0000 (21:31 -0500)]
ceph-objectstore-tool: remove rm-past-intervals op

The OSD doesn't rebuild this on demand anymore.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoceph-objectstore-tool: do not clear same_interval_since and PastIntervals
Sage Weil [Tue, 3 Oct 2017 18:32:37 +0000 (13:32 -0500)]
ceph-objectstore-tool: do not clear same_interval_since and PastIntervals

We dropped the OSD recalculation code for this.  Import it.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoceph-objectstore-tool: print pg_info_t to stdoutt
Sage Weil [Sun, 17 Sep 2017 23:27:44 +0000 (18:27 -0500)]
ceph-objectstore-tool: print pg_info_t to stdoutt

Helpful for debugging

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: print summary for forced backfill/recovery to debug
Sage Weil [Mon, 18 Sep 2017 21:53:31 +0000 (16:53 -0500)]
osd: print summary for forced backfill/recovery to debug

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: drop OSD friend, finally!
Sage Weil [Mon, 18 Sep 2017 19:53:47 +0000 (14:53 -0500)]
osd/PG: drop OSD friend, finally!

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: drop redundant is_active() check before scrub_sched()
Sage Weil [Mon, 18 Sep 2017 19:51:36 +0000 (14:51 -0500)]
osd: drop redundant is_active() check before scrub_sched()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: make update_snap_mapper_bits public
Sage Weil [Mon, 18 Sep 2017 19:14:11 +0000 (14:14 -0500)]
osd/PG: make update_snap_mapper_bits public

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: make on_removal() public
Sage Weil [Mon, 18 Sep 2017 19:12:08 +0000 (14:12 -0500)]
osd/PG: make on_removal() public

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: make get_primary() public
Sage Weil [Mon, 18 Sep 2017 19:11:49 +0000 (14:11 -0500)]
osd/PG: make get_primary() public

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: add get_pool()
Sage Weil [Mon, 18 Sep 2017 19:05:00 +0000 (14:05 -0500)]
osd/PG: add get_pool()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: use pg_id.pool() for pg pool id
Sage Weil [Mon, 18 Sep 2017 19:04:44 +0000 (14:04 -0500)]
osd: use pg_id.pool() for pg pool id

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: make sched_scrub() public
Sage Weil [Mon, 18 Sep 2017 19:04:14 +0000 (14:04 -0500)]
osd/PG: make sched_scrub() public

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: get_must_scrub()
Sage Weil [Mon, 18 Sep 2017 19:01:00 +0000 (14:01 -0500)]
osd/PG: get_must_scrub()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PGBackend: remove scrub_supported()
Sage Weil [Mon, 18 Sep 2017 19:00:37 +0000 (14:00 -0500)]
osd/PGBackend: remove scrub_supported()

Everybody supports scrub.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: change 'debug dump_missing'
Sage Weil [Mon, 18 Sep 2017 18:59:33 +0000 (13:59 -0500)]
osd/PG: change 'debug dump_missing'

- json
- move into PG class

No users in the qa suite.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: move bits of delete_dir (pg removal) into PG
Sage Weil [Mon, 18 Sep 2017 02:55:27 +0000 (21:55 -0500)]
osd/PG: move bits of delete_dir (pg removal) into PG

We don't want to expose things like SnapMapper, OSDriver.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: define public interface for heartbeat peers
Sage Weil [Mon, 18 Sep 2017 02:32:44 +0000 (21:32 -0500)]
osd/PG: define public interface for heartbeat peers

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: use accessors for pg resurrection
Sage Weil [Mon, 18 Sep 2017 02:17:36 +0000 (21:17 -0500)]
osd: use accessors for pg resurrection

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: simplify start_recovery_ops return value meaning
Sage Weil [Sun, 17 Sep 2017 23:32:45 +0000 (18:32 -0500)]
osd/PG: simplify start_recovery_ops return value meaning

Instead of complex check in caller, return simple bool indicating whether
find_unfound() should be called with a rctx.

There is one remaining condition that can probably be simplified:

  if (!recovering.empty() ||
      work_in_progress || recovery_ops_active > 0 || deferred_backfill)
    return !work_in_progress && have_unfound();

but we will leave it for now.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: simplify unfound recovery case; rename method
Sage Weil [Sun, 17 Sep 2017 23:29:38 +0000 (18:29 -0500)]
osd/PG: simplify unfound recovery case; rename method

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: drop unneeded write_if_dirty
Sage Weil [Sun, 17 Sep 2017 23:27:44 +0000 (18:27 -0500)]
osd/PG: drop unneeded write_if_dirty

Nothing in start_recovery_ops or stuck_on_unfound dirties state.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: move a few assertions, flag change into start_recovery_ops()
Sage Weil [Sun, 17 Sep 2017 23:11:35 +0000 (18:11 -0500)]
osd/PG: move a few assertions, flag change into start_recovery_ops()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: move some more split machinery into PG
Sage Weil [Sun, 17 Sep 2017 22:55:29 +0000 (17:55 -0500)]
osd/PG: move some more split machinery into PG

and move other split pieces into the public interface.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: move write_if_dirty inside handle_{loaded,create}
Sage Weil [Sun, 17 Sep 2017 22:37:36 +0000 (17:37 -0500)]
osd/PG: move write_if_dirty inside handle_{loaded,create}

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: get_need_up_thru(), get_same_interval_since()
Sage Weil [Sun, 17 Sep 2017 22:35:31 +0000 (17:35 -0500)]
osd/PG: get_need_up_thru(), get_same_interval_since()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: bit less verbose while loading pgs
Sage Weil [Sun, 17 Sep 2017 22:30:32 +0000 (17:30 -0500)]
osd: bit less verbose while loading pgs

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: move more recovery logic into PG
Sage Weil [Sun, 17 Sep 2017 22:29:16 +0000 (17:29 -0500)]
osd/PG: move more recovery logic into PG

I suspect we eventually want to move the create_context and
dispatch_context into OSDService (if it isn't there already) and move
even more of this logic into PG.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: move some osd logic into handle_pg_trim
Sage Weil [Sun, 17 Sep 2017 22:10:53 +0000 (17:10 -0500)]
osd/PG: move some osd logic into handle_pg_trim

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: hide peering_queue from OSD
Sage Weil [Sun, 17 Sep 2017 22:02:05 +0000 (17:02 -0500)]
osd/PG: hide peering_queue from OSD

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: remove build_past_intervals_parallel
Sage Weil [Sat, 16 Sep 2017 18:08:07 +0000 (14:08 -0400)]
osd: remove build_past_intervals_parallel

This was added in the dumpling era to handle the case where we have lots
of PGs with stale or missing past_intervals.  These days, we update
PastIntervals as we inject new makes (via advance_map), when we
learn about new PGs via notify with get the PastIntervals at the same time,
and during PGCreate handling we have a separate path in
build_initial_pg_history.  This code is obsolete.

It also reaches deep into the PG class where it shouldn't!

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: use PG::is_deleting()
Sage Weil [Sat, 16 Sep 2017 03:53:57 +0000 (23:53 -0400)]
osd: use PG::is_deleting()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: move load_pgs cruft into read_state()
Sage Weil [Sat, 16 Sep 2017 03:52:33 +0000 (23:52 -0400)]
osd/PG: move load_pgs cruft into read_state()

This only happens during initial load; move it there.

Also, since update_store_with_options

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: make read_state, peek_map_epoch public
Sage Weil [Sat, 16 Sep 2017 03:44:53 +0000 (23:44 -0400)]
osd/PG: make read_state, peek_map_epoch public

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: simplify/streamline upgrade process
Sage Weil [Sat, 16 Sep 2017 03:31:54 +0000 (23:31 -0400)]
osd/PG: simplify/streamline upgrade process

There's no reason for this to be exposed to the OSD.  Just do it directly
in read_state().

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: drop bufferlist passed from peek_map_epoch to read_state/read_info
Sage Weil [Sat, 16 Sep 2017 03:26:17 +0000 (23:26 -0400)]
osd/PG: drop bufferlist passed from peek_map_epoch to read_state/read_info

This is no longer used or needed.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: make init() public
Sage Weil [Sat, 16 Sep 2017 03:15:19 +0000 (23:15 -0400)]
osd/PG: make init() public

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: on_shutdown -> shutdown in public interface
Sage Weil [Sat, 16 Sep 2017 03:11:34 +0000 (23:11 -0400)]
osd/PG: on_shutdown -> shutdown in public interface

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: add get_num_ref()
Sage Weil [Sat, 16 Sep 2017 03:08:33 +0000 (23:08 -0400)]
osd/PG: add get_num_ref()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: add get_pg_stats() to public interface
Sage Weil [Sat, 16 Sep 2017 03:07:38 +0000 (23:07 -0400)]
osd/PG: add get_pg_stats() to public interface

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: add dump_pgstate_history() to public interface
Sage Weil [Sat, 16 Sep 2017 02:58:15 +0000 (22:58 -0400)]
osd/PG: add dump_pgstate_history() to public interface

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: make get_watchers public, hide locking
Sage Weil [Sat, 16 Sep 2017 02:53:20 +0000 (22:53 -0400)]
osd/PG: make get_watchers public, hide locking

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: drop legacy infos object cleanup
Sage Weil [Fri, 15 Sep 2017 22:43:29 +0000 (18:43 -0400)]
osd: drop legacy infos object cleanup

This won't be there post-luminous

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: make osr public
Sage Weil [Fri, 15 Sep 2017 22:41:35 +0000 (18:41 -0400)]
osd/PG: make osr public

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: use is_deleting()
Sage Weil [Fri, 15 Sep 2017 22:41:09 +0000 (18:41 -0400)]
osd: use is_deleting()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: use pg->pg_id const member, not get_pgid()
Sage Weil [Fri, 15 Sep 2017 22:41:03 +0000 (18:41 -0400)]
osd: use pg->pg_id const member, not get_pgid()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: reorder some members
Sage Weil [Fri, 15 Sep 2017 22:35:40 +0000 (18:35 -0400)]
osd/PG: reorder some members

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: protect get_last_peering_reset
Sage Weil [Fri, 15 Sep 2017 22:22:01 +0000 (18:22 -0400)]
osd/PG: protect get_last_peering_reset

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: protect get_role()
Sage Weil [Fri, 15 Sep 2017 22:13:19 +0000 (18:13 -0400)]
osd/PG: protect get_role()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: cleanup and move ref counting public bits
Sage Weil [Fri, 15 Sep 2017 15:37:29 +0000 (11:37 -0400)]
osd/PG: cleanup and move ref counting public bits

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: protect pg state accessors
Sage Weil [Fri, 15 Sep 2017 15:26:16 +0000 (11:26 -0400)]
osd/PG: protect pg state accessors

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: add is_forced_recovery_or_backfill()
Sage Weil [Fri, 15 Sep 2017 15:24:45 +0000 (11:24 -0400)]
osd/PG: add is_forced_recovery_or_backfill()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/ECBackend: use Listener instead of PG interface to check undersized
Sage Weil [Fri, 15 Sep 2017 15:22:53 +0000 (11:22 -0400)]
osd/ECBackend: use Listener instead of PG interface to check undersized

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: collection more of public at top of class
Sage Weil [Fri, 15 Sep 2017 15:17:48 +0000 (11:17 -0400)]
osd/PG: collection more of public at top of class

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: expose static methods for ceph-objectstore-tool
Sage Weil [Thu, 14 Sep 2017 13:44:06 +0000 (09:44 -0400)]
osd/PG: expose static methods for ceph-objectstore-tool

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: move C_PG_FinishRecovery into header
Sage Weil [Wed, 13 Sep 2017 22:14:59 +0000 (18:14 -0400)]
osd/PG: move C_PG_FinishRecovery into header

Less code than delcaring it in 2 places (by making it a friend).

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: move C_PG_ActivateCommitted into header
Sage Weil [Wed, 13 Sep 2017 22:12:33 +0000 (18:12 -0400)]
osd/PG: move C_PG_ActivateCommitted into header

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: clean up set_force_{recovery,backfill} interface
Sage Weil [Wed, 13 Sep 2017 22:09:35 +0000 (18:09 -0400)]
osd/PG: clean up set_force_{recovery,backfill} interface

- update state under pg lock
- clean up PG interface
- log only when we adjust the state

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: start grouping public interface at top of class
Sage Weil [Wed, 13 Sep 2017 21:55:40 +0000 (17:55 -0400)]
osd/PG: start grouping public interface at top of class

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: is_deleting()
Sage Weil [Wed, 13 Sep 2017 21:43:39 +0000 (17:43 -0400)]
osd/PG: is_deleting()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: clean up intrusive_ptr helpers
Sage Weil [Wed, 13 Sep 2017 21:30:06 +0000 (17:30 -0400)]
osd/PG: clean up intrusive_ptr helpers

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: protect everything that doesn't have to be public
Sage Weil [Wed, 13 Sep 2017 21:25:07 +0000 (17:25 -0400)]
osd/PG: protect everything that doesn't have to be public

This lets us see what the *actual* public interface is that we are using.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: get_acting()
Sage Weil [Wed, 13 Sep 2017 21:20:52 +0000 (17:20 -0400)]
osd/PG: get_acting()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: add set_last_scrub_stamp
Sage Weil [Wed, 13 Sep 2017 21:16:06 +0000 (17:16 -0400)]
osd/PG: add set_last_scrub_stamp

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: add get_history() accessor
Sage Weil [Wed, 13 Sep 2017 21:14:08 +0000 (17:14 -0400)]
osd/PG: add get_history() accessor

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: inline lock_suspend_timeout
Sage Weil [Wed, 13 Sep 2017 21:00:12 +0000 (17:00 -0400)]
osd/PG: inline lock_suspend_timeout

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: add get_last_user_version()
Sage Weil [Wed, 13 Sep 2017 20:57:00 +0000 (16:57 -0400)]
osd/PG: add get_last_user_version()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: use PG::get_pgid() instead of info.pgid
Sage Weil [Wed, 13 Sep 2017 20:55:57 +0000 (16:55 -0400)]
osd: use PG::get_pgid() instead of info.pgid

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18134 from liewegas/wip-21660
Gregory Farnum [Thu, 5 Oct 2017 22:30:13 +0000 (15:30 -0700)]
Merge pull request #18134 from liewegas/wip-21660

src/messages/MOSDMap: reencode OSDMap for older clients

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
7 years agoMerge pull request #17974 from jcsp/wip-doc-mgr-iptables
John Spray [Thu, 5 Oct 2017 20:48:05 +0000 (21:48 +0100)]
Merge pull request #17974 from jcsp/wip-doc-mgr-iptables

doc: update firewall doc to mention ceph-mgr

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agosrc/messages/MOSDMap: reencode OSDMap for older clients 18134/head
Sage Weil [Thu, 5 Oct 2017 20:26:16 +0000 (15:26 -0500)]
src/messages/MOSDMap: reencode OSDMap for older clients

We explicitly select which missing bits trigger a reencode.  We
already had jewel and earlier covered, but kraken includes all of
the previously mentioned bits but not SERVER_LUMINOUS.  This
prevents kraken clients from decoding luminous maps.

Fixes: http://tracker.ceph.com/issues/21660
Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18070 from liewegas/wip-21613
Sage Weil [Thu, 5 Oct 2017 19:37:52 +0000 (14:37 -0500)]
Merge pull request #18070 from liewegas/wip-21613

osd: fix replica/backfill target handling of REJECT

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
7 years agoMerge pull request #17939 from mkogan1/wip-rgw-21196
Matt Benjamin [Thu, 5 Oct 2017 17:43:09 +0000 (13:43 -0400)]
Merge pull request #17939 from mkogan1/wip-rgw-21196

rgw: update the usage read iterator in truncated scenario

7 years agoMerge pull request #18028 from liewegas/wip-pick-ifname
Sage Weil [Thu, 5 Oct 2017 17:02:49 +0000 (12:02 -0500)]
Merge pull request #18028 from liewegas/wip-pick-ifname

common/pick_address: add {public,cluster}_network_interface option

Reviewed-by: Dan Mick <dmick@redhat.com>
7 years agoMerge pull request #18091 from vasilyMellanox/gid_idx_fix
Sage Weil [Thu, 5 Oct 2017 16:19:15 +0000 (11:19 -0500)]
Merge pull request #18091 from vasilyMellanox/gid_idx_fix

msg/async/rdma: uninitialized variable fix

Reviewed-by: Haomai Wang <haomai@xsky.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
7 years agoMerge pull request #18092 from tchaikov/wip-cmake-cleanup
Sage Weil [Thu, 5 Oct 2017 16:18:27 +0000 (11:18 -0500)]
Merge pull request #18092 from tchaikov/wip-cmake-cleanup

cmake: do not link against unused or duplicated libraries

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18094 from xiexingguo/wip-tracker-21618
Sage Weil [Thu, 5 Oct 2017 16:14:01 +0000 (11:14 -0500)]
Merge pull request #18094 from xiexingguo/wip-tracker-21618

qa/standalone/scrub/osd-scrub-repair.sh: add extents flag into object_info_t

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #17907 from amitkumar50/cov-rgw-10
Yuri Weinstein [Thu, 5 Oct 2017 15:46:39 +0000 (08:46 -0700)]
Merge pull request #17907 from amitkumar50/cov-rgw-10

rgw: Ignoring the returned error

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #18106 from kmroz/wip-keystone-revocator-thread-assert
Yuri Weinstein [Thu, 5 Oct 2017 15:45:54 +0000 (08:45 -0700)]
Merge pull request #18106 from kmroz/wip-keystone-revocator-thread-assert

rgw: stop/join TokenCache revoke thread only if started.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
7 years agoMerge pull request #18120 from liewegas/wip-bluefs-allocation
Sage Weil [Thu, 5 Oct 2017 14:13:46 +0000 (09:13 -0500)]
Merge pull request #18120 from liewegas/wip-bluefs-allocation

os/bluestore: make bluefs behave better near enospc

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
7 years agoMerge pull request #18114 from dillaman/wip-21670
Mykola Golub [Thu, 5 Oct 2017 12:34:09 +0000 (15:34 +0300)]
Merge pull request #18114 from dillaman/wip-21670

librbd: list_children should not attempt to refresh image

Reviewed-by: Mykola Golub <to.my.trociny@gmail.com>
7 years agoMerge pull request #18118 from liewegas/wip-21470
Sage Weil [Thu, 5 Oct 2017 11:57:14 +0000 (06:57 -0500)]
Merge pull request #18118 from liewegas/wip-21470

os/bluestore: fix another aio stall/deadlock

Reviewed-by: Varada Kari <varada.kari@gmail.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
7 years agoMerge pull request #18105 from gregsfortytwo/wip-sigpipe-porting
Sage Weil [Thu, 5 Oct 2017 03:07:26 +0000 (22:07 -0500)]
Merge pull request #18105 from gregsfortytwo/wip-sigpipe-porting

msg: reimplement sigpipe blocking

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #17710 from Songweibin/wip-add-pybind
Sage Weil [Thu, 5 Oct 2017 03:06:10 +0000 (22:06 -0500)]
Merge pull request #17710 from Songweibin/wip-add-pybind

pybind/rados: add support open_ioctx2 API

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #18079 from liewegas/wip-21618
Sage Weil [Thu, 5 Oct 2017 03:05:20 +0000 (22:05 -0500)]
Merge pull request #18079 from liewegas/wip-21618

qa/standalone/scrub/osd-scrub-repair: no -y to diff

Reviewed-by: David Zafman <dzafman@redhat.com>
7 years agoMerge pull request #18088 from dillaman/wip-21629
Sage Weil [Thu, 5 Oct 2017 03:04:33 +0000 (22:04 -0500)]
Merge pull request #18088 from dillaman/wip-21629

osd: additional protection for out-of-bounds EC reads

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoos/bluestore: add bluestore_bluefs_min_free 18120/head
Sage Weil [Tue, 3 Oct 2017 16:18:17 +0000 (11:18 -0500)]
os/bluestore: add bluestore_bluefs_min_free

We need at least ~1GB free so we can write out new SSTs (which are 256MB
each).

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoos/bluestore/BlueFS: crash on enospc
Sage Weil [Tue, 3 Oct 2017 15:41:33 +0000 (10:41 -0500)]
os/bluestore/BlueFS: crash on enospc

We were passing this error back to rocksdb, which would then crash (much)
later with a corrupted SST file!  No good.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoos/bluestore: use normal Context for async deferred_try_submit 18118/head
Sage Weil [Tue, 3 Oct 2017 21:48:37 +0000 (16:48 -0500)]
os/bluestore: use normal Context for async deferred_try_submit

I'm not quite sure why the FunctionContext did not ever execute on the
finisher thread (perhaps the [&] captured some state on the stack that it
shouldn't have?).  In any case, using a traditional Context here appears
to resolve the problem (of the async deferred_try_submit() never executing,
leading to a bluestore stall/deadlock).

Fixes: http://tracker.ceph.com/issues/21470
Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoos/bluestore: wake kv thread when blocking on deferred_bytes
Sage Weil [Fri, 29 Sep 2017 18:47:19 +0000 (13:47 -0500)]
os/bluestore: wake kv thread when blocking on deferred_bytes

We need to wake the kv thread whenever setting deferred_aggressive to
ensure that txns with deferred io that have committed but haven't submitted
their deferred writes get submitted.  This aligns us with the other
users of deferred_aggressive (e.g., _osr_drain_all).

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18099 from dillaman/wip-21628
Mykola Golub [Wed, 4 Oct 2017 20:31:55 +0000 (23:31 +0300)]
Merge pull request #18099 from dillaman/wip-21628

librbd: journal should ignore -EILSEQ errors from compare-and-write

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Mykola Golub <to.my.trociny@gmail.com>
7 years agoosd/PG: add explicit CANCEL MBackfillReserve type 18070/head
Sage Weil [Wed, 4 Oct 2017 20:30:14 +0000 (15:30 -0500)]
osd/PG: add explicit CANCEL MBackfillReserve type

This lets us distinguish between REJECT and CANCEL for clarity.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: separate event for RemoteReservationCanceled
Sage Weil [Wed, 4 Oct 2017 20:28:26 +0000 (15:28 -0500)]
osd/PG: separate event for RemoteReservationCanceled

Right now we transparently map a RemoteReservationRejected into a
*Canceled event because this what peers send over the wire.  Even
once new peers start sending and explicit CANCEL, old peers will
still do so, so we'll maintain this mapping for a while.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #17959 from gaosibei/branch2
Marcus Watts [Wed, 4 Oct 2017 20:12:21 +0000 (16:12 -0400)]
Merge pull request #17959 from gaosibei/branch2

RGW: Multipart upload may double the quota

7 years agoosd/PG: separate verb 'Reject' from passive 'rejected'
Sage Weil [Wed, 4 Oct 2017 19:55:15 +0000 (14:55 -0500)]
osd/PG: separate verb 'Reject' from passive 'rejected'

This reduces pg->reject_reservation() callsites from 2 to 1 and
makes the state transitions a bit more explicit.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18087 from liu-chunmei/fix_dpdk_build
Sage Weil [Wed, 4 Oct 2017 19:01:21 +0000 (14:01 -0500)]
Merge pull request #18087 from liu-chunmei/fix_dpdk_build

build: fix dpdk build error

Reviewed-by: Haomai Wang <haomai@xsky.com>
7 years agoMerge pull request #18115 from mogeb/rados-doc
Sage Weil [Wed, 4 Oct 2017 18:59:58 +0000 (13:59 -0500)]
Merge pull request #18115 from mogeb/rados-doc

doc: add osd_max_object_size in osd configuration

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18072 from dragonylffly/wip-optimize-assert
Sage Weil [Wed, 4 Oct 2017 18:59:19 +0000 (13:59 -0500)]
Merge pull request #18072 from dragonylffly/wip-optimize-assert

assert(false)->ceph_abort()

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
7 years agoMerge pull request #18073 from dragonylffly/wip-check-monitor-address-configuration
Sage Weil [Wed, 4 Oct 2017 18:58:48 +0000 (13:58 -0500)]
Merge pull request #18073 from dragonylffly/wip-check-monitor-address-configuration

mon: check monitor address configuration

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18082 from Liuchang0812/wip-21624
Sage Weil [Wed, 4 Oct 2017 18:58:09 +0000 (13:58 -0500)]
Merge pull request #18082 from Liuchang0812/wip-21624

os/bluestore: make BlueStore opened by start_kv_only umountable

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18083 from Liuchang0812/wip-21625
Sage Weil [Wed, 4 Oct 2017 18:56:26 +0000 (13:56 -0500)]
Merge pull request #18083 from Liuchang0812/wip-21625

tool: ceph-kvstore-tool doesn't umount BlueStore properly

Reviewed-by: Sage Weil <sage@redhat.com>