Commit Graph

72099 Commits

Author SHA1 Message Date
runsisi
1fdc92716e osd/PrimayLogPG: update modified range to include the whole object size for write_full op
Signed-off-by: runsisi <runsisi@zte.com.cn>
2017-05-11 21:54:30 +08:00
runsisi
bb6d2de31a osd/PrimaryLogPG: drop parameter count_bytes for write_update_size_and_usage
Signed-off-by: runsisi <runsisi@zte.com.cn>
2017-05-11 21:45:08 +08:00
John Spray
745902aec6 Merge pull request #14743 from ukernel/wip-19635
mds: issue new caps when sending reply to client

Reviewed-by: John Spray <john.spray@redhat.com>
2017-05-11 10:46:41 +01:00
John Spray
1b1fc05506 Merge pull request #14704 from batrick/i19589
mds: fix mantle script to not fail for last rank

Reviewed-by: Michael Sevilla <mikesevilla3@gmail.com>
2017-05-11 10:12:22 +01:00
Yan, Zheng
80b7672bf8 Merge pull request #14921 from batrick/ptrwaiter-balance
mds: relocate PTRWAITER put near get
2017-05-11 14:10:12 +08:00
Yan, Zheng
b67a599ebe Merge pull request #14598 from batrick/mds-balancer-pin
mds: support export pinning on directories
2017-05-11 11:56:34 +08:00
Patrick Donnelly
b6ba30ba57
mds: delay export until dir is stable
This catches an assertion failure due to exports on unjournaled directories:

    2017-05-10 12:45:18.193640 7eff65a04700  7 mds.0.migrator export_dir [dir 10000000003 /a/ [2,head] auth pv=3 v=1 cv=0/0 ap=1+2+2 state=1073742082|complete f()->f(v0 m2017-05-10 12:45:14.977151 1=0+1) n()->n(v0 rc2017-05-10 12:45:14.977151 1=0+1) hs=0+1,ss=0+0 | child=1 authpin=1 0x55ef655de000] to 1
    2017-05-10 12:45:18.193654 7eff65a04700 15 mds.0.18 hit export target 10 @ 2017-05-10 12:45:18.193653
    2017-05-10 12:45:18.193661 7eff65a04700 10 mds.0.cache.dir(10000000003) auth_pin by 0x55ef650cc130 on [dir 10000000003 /a/ [2,head] auth pv=3 v=1 cv=0/0 ap=2+2+2 state=1073742082|complete f()->f(v0 m2017-05-10 12:45:14.977151 1=0+1) n()->n(v0 rc2017-05-10 12:45:14.977151 1=0+1) hs=0+1,ss=0+0 | child=1 authpin=1 0x55ef655de000] count now 2 + 2
    2017-05-10 12:45:18.193701 7eff65a04700  7 mds.0.cache request_start_internal request(mds.0:4) op 5377
    2017-05-10 12:45:18.193708 7eff65a04700  7 mds.0.migrator dispatch_export_dir request(mds.0:4)
    2017-05-10 12:45:18.198281 7eff66205700 20 mgrc operator() 234 counters, of which 0 new
    2017-05-10 12:45:18.198294 7eff66205700 20 mgrc send_report encoded 2006 bytes
    2017-05-10 12:45:18.198298 7eff66205700  1 -- 127.0.0.1:6825/693985647 --> 127.0.0.1:6826/1025 -- mgrreport(+0-0 packed 2006) v2 -- 0x55ef655abe00 con 0
    2017-05-10 12:45:18.198364 7eff6a9ab700 10 _calc_signature seq 14 front_crc_ = 2388339344 middle_crc = 0 data_crc = 0 sig = 5026349537430007662
    2017-05-10 12:45:18.198376 7eff6a9ab700 20 Putting signature in client message(seq # 14): sig = 5026349537430007662
    2017-05-10 12:45:18.198411 7eff65a04700 -1 /home/pdonnell/ceph/src/mds/MDCache.cc: In function 'void MDCache::make_trace(std::vector<CDentry*>&, CInode*)' thread 7eff65a04700 time 2017-05-10 12:45:18.194136
    /home/pdonnell/ceph/src/mds/MDCache.cc: 8225: FAILED assert(parent)

     ceph version 12.0.1-2198-ge757c02 (e757c025fa3270b12fb2fca17cf159fa1bd72747)
     1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x102) [0x55ef5b780f02]
     2: (MDCache::make_trace(std::vector<CDentry*, std::allocator<CDentry*> >&, CInode*)+0x1cb) [0x55ef5b4fa12b]
     3: (Migrator::get_export_lock_set(CDir*, std::set<SimpleLock*, std::less<SimpleLock*>, std::allocator<SimpleLock*> >&)+0x55) [0x55ef5b5e8215]
     4: (Migrator::dispatch_export_dir(boost::intrusive_ptr<MDRequestImpl>&, int)+0xa74) [0x55ef5b5f72d4]
     5: (Migrator::export_dir(CDir*, int)+0x9ca) [0x55ef5b5ea75a]
     6: (MDBalancer::handle_export_pins()+0x7b4) [0x55ef5b61ab24]
     7: (MDBalancer::tick()+0x1e8) [0x55ef5b61b748]
     8: (MDSRankDispatcher::tick()+0x5f1) [0x55ef5b44bdb1]
     9: (Context::complete(int)+0x9) [0x55ef5b43bcc9]
     10: (SafeTimer::timer_thread()+0x452) [0x55ef5b77dd52]
     11: (SafeTimerThread::entry()+0xd) [0x55ef5b77f15d]
     12: (()+0x76ba) [0x7eff6d4bb6ba]
     13: (clone()+0x6d) [0x7eff6c52782d]

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-05-10 17:35:44 -04:00
Jason Dillaman
2a616ddbc3 Merge pull request #15030 from chardan/jfw-wip-halflife_atomic_t-fix-compare_exchange_weak
tools: change compare_exchange_weak to compare_exchange_strong

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-05-10 10:04:45 -04:00
Jason Dillaman
fd0fdcfde2 Merge pull request #14975 from runsisi/wip-io-logging
librbd: cleanup logging code under librbd/io

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-05-10 10:00:56 -04:00
Sage Weil
bd71ca396a Merge pull request #14905 from johnzzpcrystal/aio
test/fsx:  Remove the dead code associated with aio backend

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-05-10 08:16:13 -05:00
Sage Weil
511e86636e Merge pull request #14911 from ovh/bp-small-enc-eradication
os/bluestore: use denc for varint encoding

Reviewed-by: Sage Weil <sage@redhat.com>
2017-05-10 08:15:16 -05:00
Sage Weil
99aeb527f8 Merge pull request #14957 from ovh/bp-crc-cache-miss-counter
buffer, osd: add missing crc cache miss perf counter

Reviewed-by: Sage Weil <sage@redhat.com>
2017-05-10 08:14:27 -05:00
Sage Weil
58f20ff595 Merge pull request #14996 from xiexingguo/wip-fix-dump_basic
mon/PGMap.cc: fix "osd_epochs" section of dump_basic

Reviewed-by: Sage Weil <sage@redhat.com>
2017-05-10 08:14:09 -05:00
Sage Weil
696f061670 Merge pull request #15003 from badone/wip-redundant-headers
common: Remove redundant includes

Reviewed-by: Sage Weil <sage@redhat.com>
2017-05-10 08:13:50 -05:00
Sage Weil
1fc5690bcd Merge pull request #15013 from TsaiJin/wip-pg-lock-cleanup
osd/PG.cc: unify the call of checking whether lock is held

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-05-10 08:12:48 -05:00
Sage Weil
9af1a1eba1 Merge pull request #14937 from SpandanKumarSahu/bug#17453
mgr: remove non-existent MDS daemons from FSMap

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2017-05-10 07:21:02 -05:00
runsisi
0bb74024f1 librbd: cleanup logging code under librbd/io
Signed-off-by: runsisi <runsisi@zte.com.cn>
2017-05-10 19:48:37 +08:00
Jesse Williamson
e573245cf4 tools: change compare_exchange_weak to compare_exchange_strong
On non x86 platforms without a dedicated compare-exchange instruction, std::compare_exchange_weak()
could fail.

Signed-off-by: Jesse Williamson <jwilliamson@suse.de>
2017-05-10 04:04:25 -07:00
Loic Dachary
accceddb17 Merge pull request #15016 from dachary/wip-19888-ceph-disk
ceph-disk: separate ceph-osd --check-needs-* logs

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2017-05-10 10:04:17 +02:00
Sage Weil
bfcd2fffe1 Merge pull request #14854 from ceph/wip-reduce-smoke
qa/suites: Reduce fs combination tests for smoke, use bluestore

Reviewed-by: Sage Weil <sage@redhat.com>
2017-05-09 12:38:21 -05:00
Sage Weil
623c04ebbe Merge pull request #14959 from liewegas/wip-crush-compat
mon,osd: add require_min_compat_client setting to enforce and clarify client compatibility

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2017-05-09 11:42:30 -05:00
Sage Weil
48648c4e56 test/cli: fix cli tests
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:34:15 -05:00
Sage Weil
f08de01c58 mon/OSDMonitor: 'osd set-require-min-compat-client ...'
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:56 -05:00
Sage Weil
a17e320098 qa/releases/luminous: set require_min_compat_client after upgrade
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:56 -05:00
Sage Weil
1de9c90776 qa/suites: set initial require_min_compat_client
For cases where we are selecting crush tunables beyond the default
min of hammer.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:56 -05:00
Sage Weil
ef1ef284ac osd/OSDMap: add CRUSH_CHOOSEARGS feature bit
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:56 -05:00
Sage Weil
04b9e9f1a3 crush/CrushWrapper: has_[incompat_]chooseargs()
We'll use this for feature bit compat checks with clients and osds.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:55 -05:00
Sage Weil
9fccc7ac72 include/ceph_features: rename OSDMAP_REMAP -> OSDMAP_PG_UPMAP
Missed this with the remap -> upmap rename a few weeks back.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:55 -05:00
Sage Weil
5274db81dc mon/OSDMonitor: prevent injection of crush map violating require_min_compat_client
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:55 -05:00
Sage Weil
7c35fd09cd mon/OSDMonitor: drop allow_pg_upmap option; use require_min_compat_client instead
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:55 -05:00
Sage Weil
f3fa3c0158 mon/OSDMonitor: switch primary-{affinity,temp} checks to require_min_compat_client
If require_min_compat_client is set (we've finished luminous upgrade), use
that to enforce primary_temp and primary_affinity settings.  Otherwise,
use the legacy config option.

Drop the assert in update_from_paxos.

After luminous we can remove the config options entirely.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:55 -05:00
Sage Weil
c025323bf4 mon/OSDMonitor: set OSDMap require_min_compat_client on upgrade
Fill in this field once require_luminous is set.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:55 -05:00
Sage Weil
38c756dbd3 crush: move default tunables up to hammer
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:55 -05:00
Sage Weil
481411e995 mon/OSDMonitor: default require_min_compat_client to hammer for new clusters
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:54 -05:00
Sage Weil
a1c6646823 osd/OSDmap: add require_min_compat_client field
This is a persistent record of the compatibility for old clients that
we will enforce.  Once set, the mon will eventually prevent newer features
of the OSDMap or CRUSH maps from being used if they violate this
requirement.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:54 -05:00
Sage Weil
e02a8e2e1f osd/OSDMap: get_min_compat_client()
Calculate the oldest client we allow to connect.  Provide both a release
name (e.g., firefly) and a version string (e.g., "0.80").

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:04:57 -05:00
Nathan Cutler
46d52c51e0 Merge pull request #15015 from smithfarm/wip-sphinx
build/ops: rpm: fix python-Sphinx package name for SUSE

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2017-05-09 17:17:23 +02:00
Sage Weil
7a4dfe8949 Merge pull request #14952 from tchaikov/wip-19813
mgr: do the shutdown in the right order

Reviewed-by: Sage Weil <sage@redhat.com>
2017-05-09 10:01:12 -05:00
Kefu Chai
a0ee9e663a Merge pull request #14478 from theanalyst/doc/dev/ccache
doc: dev add a note about ccache

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-05-09 20:46:29 +08:00
Kefu Chai
1116556ff4 Merge pull request #14886 from badone/wip-async-osd-scrub-sleep
osd: Implement asynchronous scrub sleep

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-05-09 20:27:17 +08:00
Kefu Chai
73340eedb8 Merge pull request #14985 from johnzzpcrystal/store_errno
msg/async/net_handler: errno should be stored before calling next function

Reviewed-by: Haomai Wang <haomai@xsky.com>
2017-05-09 20:26:24 +08:00
Loic Dachary
c7b3c46bd6 ceph-disk: separate ceph-osd --check-needs-* logs
It is using the OSD id zero but have nothing to do with OSD zero and
this is confusing to the user. The log themselves do not need to be kept
around and are stored in the run directory so that they can be disposed
of after reboot.

Fixes: http://tracker.ceph.com/issues/19888

Signed-off-by: Loic Dachary <loic@dachary.org>
2017-05-09 13:55:57 +02:00
Nathan Cutler
0688f57d1c build/ops: rpm: fix python-Sphinx package name for SUSE
This commit moves "BuildRequires: python-sphinx" down to the RH/CentOS/Fedora
distro conditional and adds a "BuildRequires: python-Sphinx" to the SUSE
conditional.

Signed-off-by: Jan Matejek <jmatejek@suse.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2017-05-09 11:42:58 +02:00
Jin Cai
c15626c6cd osd/PG.cc: unify the call of checking whether lock is held
Signed-off-by: Jin Cai <caijin.caij@alibaba-inc.com>
2017-05-09 17:03:03 +08:00
Abhishek Lekshmanan
1d9558ac42 doc: dev add a note about ccache
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-05-09 10:53:50 +02:00
Yan, Zheng
68adc96403 mds: fix dir auth calculation in CDir::merge
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-05-09 16:28:13 +08:00
Yan, Zheng
6bdd9e7f8b mds: properly cleanup export states
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-05-09 16:26:48 +08:00
Piotr Dałek
33afac48cd buffer, osd: add missing crc cache miss perf counter
This helps tracking if/how effective is the CRC cache in bufferlists.

Signed-off-by: Piotr Dałek <piotr.dalek@corp.ovh.com>
2017-05-09 09:03:22 +02:00
Patrick Donnelly
88e6db1f25
mds: update export targets even when not active
Problem caught test_migration_on_shutdown. Migration could not proceed because
export_targets were not being updated.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-05-08 22:55:56 -04:00
Dan Mick
6a70b0705f Merge pull request #14984 from dmick/wip-osd-dup
test/osd/osd-dup.sh: lower wb fd throttle limits

Reviewed-by: Sage Weil <sage@redhat.com>
2017-05-08 19:48:27 -07:00