]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
7 years agomds: cleanup MDCache::open_snaprealms() 16779/head
Yan, Zheng [Thu, 29 Mar 2018 03:06:13 +0000 (11:06 +0800)]
mds: cleanup MDCache::open_snaprealms()

don't retry if all snaprealms' parent are open

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: make sure snaptable version > 0
Yan, Zheng [Wed, 28 Mar 2018 09:54:48 +0000 (17:54 +0800)]
mds: make sure snaptable version > 0

version 0 snaptable confuses snapshot cache code

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: don't consider CEPH_INO_LOST_AND_FOUND as base inode
Yan, Zheng [Sun, 18 Mar 2018 10:52:10 +0000 (18:52 +0800)]
mds: don't consider CEPH_INO_LOST_AND_FOUND as base inode

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: replace MAX() with std::max()
Yan, Zheng [Sat, 17 Mar 2018 09:29:30 +0000 (17:29 +0800)]
mds: replace MAX() with std::max()

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agotools/cephfs: make cephfs-data-scan create snaprealm for base inodes
Yan, Zheng [Sat, 17 Mar 2018 05:04:15 +0000 (13:04 +0800)]
tools/cephfs: make cephfs-data-scan create snaprealm for base inodes

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agoqa/cephfs: don't run TestSnapshots.test_kill_mdstable on kclient
Yan, Zheng [Fri, 16 Mar 2018 10:03:23 +0000 (18:03 +0800)]
qa/cephfs: don't run TestSnapshots.test_kill_mdstable on kclient

this test forcibly kills mount. Killing kernel mount requires reboot,

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agoqa/cephfs: adjust check of 'cephfs-table-tool all show snap' output
Yan, Zheng [Fri, 16 Mar 2018 09:40:59 +0000 (17:40 +0800)]
qa/cephfs: adjust check of 'cephfs-table-tool all show snap' output

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: don't warn unconnected snaplrealms in cluster log
Yan, Zheng [Wed, 7 Feb 2018 09:29:00 +0000 (17:29 +0800)]
mds: don't warn unconnected snaplrealms in cluster log

When mds recovers, clients add all snaprealms they have to reconnect
message. In multimds setup, it's common that the recovering mds only
have a portion of these snaprealms

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: update CInode/CDentry's first according to global snapshot seq
Yan, Zheng [Tue, 6 Feb 2018 08:33:51 +0000 (16:33 +0800)]
mds: update CInode/CDentry's first according to global snapshot seq

This simplifies case that inode gets moved into different snaprealm

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agoqa/cephfs: add tests for snapclient cache
Yan, Zheng [Thu, 1 Feb 2018 05:47:48 +0000 (13:47 +0800)]
qa/cephfs: add tests for snapclient cache

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agoqa/cephfs: add tests for snaptable transaction
Yan, Zheng [Sat, 6 Jan 2018 02:54:48 +0000 (10:54 +0800)]
qa/cephfs: add tests for snaptable transaction

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: add asok command that dumps cached snap infos
Yan, Zheng [Thu, 4 Jan 2018 09:14:49 +0000 (17:14 +0800)]
mds: add asok command that dumps cached snap infos

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agoqa/cephfs: add tests for multimds snapshot
Yan, Zheng [Tue, 2 Jan 2018 09:14:14 +0000 (17:14 +0800)]
qa/cephfs: add tests for multimds snapshot

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agoclient: don't mark snap directory complete when its dirstat is empty
Yan, Zheng [Tue, 2 Jan 2018 07:55:50 +0000 (15:55 +0800)]
client: don't mark snap directory complete when its dirstat is empty

MDS has trouble in tracking dirstat for snap inode. Snap directory
inode's dirstat can be inaccuracy.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agoqa/workunits/snaps: add snaprealm split test
Yan, Zheng [Thu, 28 Dec 2017 08:27:44 +0000 (16:27 +0800)]
qa/workunits/snaps: add snaprealm split test

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: make sure mds has uptodate mdsmap before checking 'allows_snaps'
Yan, Zheng [Wed, 27 Dec 2017 10:05:41 +0000 (18:05 +0800)]
mds: make sure mds has uptodate mdsmap before checking 'allows_snaps'

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agoclient: fix incorrect snaprealm when adding caps
Yan, Zheng [Wed, 27 Dec 2017 03:57:57 +0000 (11:57 +0800)]
client: fix incorrect snaprealm when adding caps

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agoqa/workunits/snaps: add hardlink snapshot test
Yan, Zheng [Fri, 22 Dec 2017 02:19:12 +0000 (10:19 +0800)]
qa/workunits/snaps: add hardlink snapshot test

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: add incompat feature and bump protocol for snapshot changes
Yan, Zheng [Tue, 31 Oct 2017 10:29:09 +0000 (18:29 +0800)]
mds: add incompat feature and bump protocol for snapshot changes

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: detach inode with single hardlink from global snaprealm
Yan, Zheng [Fri, 22 Dec 2017 09:35:00 +0000 (17:35 +0800)]
mds: detach inode with single hardlink from global snaprealm

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: record hardlink snaps in inode's snaprealm
Yan, Zheng [Sat, 28 Oct 2017 03:16:57 +0000 (11:16 +0800)]
mds: record hardlink snaps in inode's snaprealm

Inode with multiple hardlinks is attached to global snaprealm.
Before modifying a hardlink, record snaps that reference the
the hardlink. When all hardlinks are removed, stray inode gets
moved into normal snaprealm. By checking the recorded snaps,
mds knows if there still are snaps reference the stray inode.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: attach inode with multiple hardlinks to dummy global snaprealm
Yan, Zheng [Thu, 26 Oct 2017 07:32:29 +0000 (15:32 +0800)]
mds: attach inode with multiple hardlinks to dummy global snaprealm

The dummy global snaprealm includes all snapshots in the filesystem.
For any later snapshot, mds will COW the inode and preserve snap data.
These snap data will cover any possible snapshot on remote linkages
of the inode.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: cleanup rename code
Yan, Zheng [Fri, 27 Oct 2017 04:04:30 +0000 (12:04 +0800)]
mds: cleanup rename code

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: ensure xlocker has uptodate lock state
Yan, Zheng [Fri, 27 Oct 2017 01:30:23 +0000 (09:30 +0800)]
mds: ensure xlocker has uptodate lock state

This simplifies trans-authority rename. Master can prepare new snaplream
for source inode even it's not auth mds.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: simplify SnapRealm::build_snap_{set,trace}
Yan, Zheng [Thu, 26 Oct 2017 00:06:27 +0000 (08:06 +0800)]
mds: simplify SnapRealm::build_snap_{set,trace}

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: record global last_created/last_destroyed in snaptable
Yan, Zheng [Wed, 25 Oct 2017 07:12:26 +0000 (15:12 +0800)]
mds: record global last_created/last_destroyed in snaptable

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: pop projected snaprealm before inode's parent changes
Yan, Zheng [Tue, 19 Sep 2017 02:40:56 +0000 (10:40 +0800)]
mds: pop projected snaprealm before inode's parent changes

When creating new snaprealm, we need to split its parent snaprealm's
inodes_with_caps. If new snaprealm is newly created during rename,
inode's original snaprealm's inodes_with_caps should be split. So in
rename/rmdir cases, we should pop projectd snaprealm before inode's
parent changes

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: keep isnap lock in sync state
Yan, Zheng [Tue, 8 Aug 2017 07:48:28 +0000 (15:48 +0800)]
mds: keep isnap lock in sync state

unlike locks of other types, isnap lock and dentry lock in unreadable
state can block path traverse, so it should be in sync state as much
as possible.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: handle mksnap vs resolve_snapname race
Yan, Zheng [Tue, 8 Aug 2017 03:06:34 +0000 (11:06 +0800)]
mds: handle mksnap vs resolve_snapname race

In multimds setup, it's possible that mds receives snap update message
after receiving client requests that lookup the newly created snapshot.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: cleanup snaprealm past parents open check
Yan, Zheng [Thu, 3 Aug 2017 03:11:08 +0000 (11:11 +0800)]
mds: cleanup snaprealm past parents open check

For new format snaprealm, there is no need to open past parent,
SnapRealm::have_past_parents_open() always return true, In multimds
setup, mds may use snaprealm whithout opening past parents. So the
assertion in SnapRealm::check_cache() is wrong.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: rollback snaprealms when rolling back slave request
Yan, Zheng [Mon, 31 Jul 2017 13:12:25 +0000 (21:12 +0800)]
mds: rollback snaprealms when rolling back slave request

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: send updated snaprealms along with slave requests
Yan, Zheng [Tue, 1 Aug 2017 01:52:36 +0000 (09:52 +0800)]
mds: send updated snaprealms along with slave requests

rmdir and rename may create/update snaprealms. If snaprealms are
created/updated, encode the updated snaprealms in slave requests
and dentry unlink messages. So that when rmdir or rename finishes,
snaprealms in different mds are in sync.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: explict notification for snap update
Yan, Zheng [Tue, 25 Jul 2017 11:52:29 +0000 (19:52 +0800)]
mds: explict notification for snap update

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: send snap related messages centrally during mds recovery
Yan, Zheng [Fri, 21 Jul 2017 13:40:46 +0000 (21:40 +0800)]
mds: send snap related messages centrally during mds recovery

sending CEPH_SNAP_OP_SPLIT and CEPH_SNAP_OP_UPDATE messages to
clients centrally in MDCache::open_snaprealms()

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: synchronize snaptable caches when mds recovers
Yan, Zheng [Tue, 9 Jan 2018 11:23:25 +0000 (19:23 +0800)]
mds: synchronize snaptable caches when mds recovers

The basic idea is:

1. For recovering mds:
 Learn other mds' pending snaptable commits from resolve messages.
 Load snaptable cache from snapserver when resolve done.

2. For survivor mds:
  Refresh snaptable cache from snapserver when cluster is in resolving
  state.
  Learn recovering mds' pending snaptable commits from resolve messages.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: introduce MDCache::maybe_finish_slave_resolve()
Yan, Zheng [Tue, 9 Jan 2018 11:22:18 +0000 (19:22 +0800)]
mds: introduce MDCache::maybe_finish_slave_resolve()

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: notify all mds about prepared snaptable update
Yan, Zheng [Thu, 20 Jul 2017 07:24:53 +0000 (15:24 +0800)]
mds: notify all mds about prepared snaptable update

After snaptable update get prepared, push the update preparation to
all active snaptable clients, then send reply to update initiator.
By this way, the initiator know that all mds have record the update
preparation in their cache. When committing the snaptable update,
the initiator notifies all mds about the commit. Bystander mds'
snaptable cache get synchronized when it receives the notification.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: record snaps in old snaprealm when moving inode into new snaprealm
Yan, Zheng [Tue, 4 Jul 2017 08:45:36 +0000 (16:45 +0800)]
mds: record snaps in old snaprealm when moving inode into new snaprealm

To get effective snaps in past snaprealms, we just need to filter out
deleted snaps by using global snap infos. This avoids the complexity
of opening 'past parents'

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: cache snaptable in snapclient
Yan, Zheng [Mon, 17 Jul 2017 08:26:14 +0000 (16:26 +0800)]
mds: cache snaptable in snapclient

The idea is caching both snap infos and pending updates in snapclient.
The snapclient also tracks updates that are being committed, it applies
these commits to its cached snap infos. Steps to update snaptable are:

 - mds.x acquire locks (xlock on snaplock of affected snaprealm inode)
 - mds.x prepares snaptable update. (send preare to snapserver and waits
   for 'agree' reply)
 - snapserver sends notification about the update to all mds and waits
   for ACKs. (not implemented by this patch)
 - snapserver send 'agree' reply to mds.x
 - mds.x journals corresponding
 - mds.x commits the snaptable update and notifies all mds that it
   commits that update. then mds drops locks.

When receiving committing notification, mds applies the committing
update to its cached snap infos. By this way, cached snap infos get
synchronized before snaplock become readable.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agomds: recover snaptable client when mds enters resolve state
Yan, Zheng [Thu, 20 Jul 2017 11:10:47 +0000 (19:10 +0800)]
mds: recover snaptable client when mds enters resolve state

this is preparetion for later change that caches snaptable in
snapclient and sync the cached snaptable between mds.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
7 years agoMerge pull request #20382 from tchaikov/wip-fix-ftbfs-store-test
Kefu Chai [Fri, 9 Feb 2018 06:39:49 +0000 (14:39 +0800)]
Merge pull request #20382 from tchaikov/wip-fix-ftbfs-store-test

test/store_test: fix FTBFS as Sequencer is removed

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
7 years agotest/store_test: fix FTBFS as Sequencer is removed 20382/head
Kefu Chai [Fri, 9 Feb 2018 05:05:19 +0000 (13:05 +0800)]
test/store_test: fix FTBFS as Sequencer is removed

Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #20294 from rzarzynski/wip-bs-drop-std_function
Kefu Chai [Fri, 9 Feb 2018 02:45:24 +0000 (10:45 +0800)]
Merge pull request #20294 from rzarzynski/wip-bs-drop-std_function

os/bluestore: avoid overhead of std::function in blob_t.

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #19232 from socketpair/precision
Kefu Chai [Fri, 9 Feb 2018 02:44:27 +0000 (10:44 +0800)]
Merge pull request #19232 from socketpair/precision

mgr: increase time resolution of Commit/Apply OSD latencies.

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #18804 from majianpeng/bluestore-collection-prealloc
Kefu Chai [Fri, 9 Feb 2018 02:43:24 +0000 (10:43 +0800)]
Merge pull request #18804 from majianpeng/bluestore-collection-prealloc

os/bluestore: Prealloc memory avoid realloc in list_collection.

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18494 from ifed01/wip-stupidalloc-fix2
Kefu Chai [Fri, 9 Feb 2018 02:42:43 +0000 (10:42 +0800)]
Merge pull request #18494 from ifed01/wip-stupidalloc-fix2

os/bluestore: do not assert if BlueFS rebalance is unable to allocate sufficient space

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18343 from shinobu-x/sk-remove-osdmap
Kefu Chai [Fri, 9 Feb 2018 02:41:50 +0000 (10:41 +0800)]
Merge pull request #18343 from shinobu-x/sk-remove-osdmap

mon/PGMap: Remove unnecessary header

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge PR #19954 into master
Patrick Donnelly [Fri, 9 Feb 2018 02:17:15 +0000 (18:17 -0800)]
Merge PR #19954 into master

* refs/pull/19954/head:
test/encoding: refactor to avoid escaping shell magic
mds: minor refactor of SimpleLock
mds: track Capability in mempool
mds: move CInode container members to mempool
mds: move CDentry container members to mempool
mds: move CDir container members to mempool
mds: put MDSCacheObject compact_map in mempool
common: use size_t for object size
mds: convert to allocator agnostic string_view
mds: simplify initialization
compact_*: support mempool allocated containers

Reviewed-by: Zheng Yan <zyan@redhat.com>
7 years agoMerge pull request #20007 from mogeb/steady-clock-librbd
Jason Dillaman [Fri, 9 Feb 2018 00:20:21 +0000 (19:20 -0500)]
Merge pull request #20007 from mogeb/steady-clock-librbd

librbd: use steady clock to measure elapsed time in AioCompletion

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #20008 from mogeb/steady-clock-tools-rbd
Jason Dillaman [Fri, 9 Feb 2018 00:20:07 +0000 (19:20 -0500)]
Merge pull request #20008 from mogeb/steady-clock-tools-rbd

tools/rbd: use steady clock in bencher

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #20218 from shun-s/wip-speedup-diskusage-resize
Jason Dillaman [Fri, 9 Feb 2018 00:19:52 +0000 (19:19 -0500)]
Merge pull request #20218 from shun-s/wip-speedup-diskusage-resize

librbd: speed up object map disk usage and resize

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #20311 from Songweibin/wip-group-snap-ls
Jason Dillaman [Fri, 9 Feb 2018 00:19:35 +0000 (19:19 -0500)]
Merge pull request #20311 from Songweibin/wip-group-snap-ls

rbd: do not show title if there is no group snapshot

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #20349 from trociny/wip-22932
Jason Dillaman [Fri, 9 Feb 2018 00:19:12 +0000 (19:19 -0500)]
Merge pull request #20349 from trociny/wip-22932

rbd-mirror: fix potential infinite loop when formatting status message

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge PR #20310 into master
Patrick Donnelly [Thu, 8 Feb 2018 21:30:04 +0000 (13:30 -0800)]
Merge PR #20310 into master

* refs/pull/20310/head:
qa: adjust cephfs full test for kclient

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge PR #20148 into master
Patrick Donnelly [Thu, 8 Feb 2018 21:05:26 +0000 (13:05 -0800)]
Merge PR #20148 into master

* refs/pull/20148/head:
mds: reset connection's priv when marking down connection
mds: fix session reference leak

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge PR #20155 into master
Patrick Donnelly [Thu, 8 Feb 2018 21:05:19 +0000 (13:05 -0800)]
Merge PR #20155 into master

* refs/pull/20155/head:
osdc/Journaler: make sure flush() writes enough data

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge PR #20190 into master
Patrick Donnelly [Thu, 8 Feb 2018 21:05:12 +0000 (13:05 -0800)]
Merge PR #20190 into master

* refs/pull/20190/head:
mon: allow removal of tier of ec overwritable pool

Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: João Eduardo Luís <joao@suse.de>
7 years agoMerge PR #20200 into master
Patrick Donnelly [Thu, 8 Feb 2018 21:05:05 +0000 (13:05 -0800)]
Merge PR #20200 into master

* refs/pull/20200/head:
client: add cap_dirtier_uid/gid to CapSnap

Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
Reviewed-by: Zheng Yan <zyan@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
7 years agoMerge PR #20246 into master
Patrick Donnelly [Thu, 8 Feb 2018 21:04:54 +0000 (13:04 -0800)]
Merge PR #20246 into master

* refs/pull/20246/head:
mds: remove extra 0x in ino prints
mds: print inode number not CInode ptr

7 years agoMerge pull request #20367 from ceph/simple-custom-cluster
Alfredo Deza [Thu, 8 Feb 2018 13:48:41 +0000 (08:48 -0500)]
Merge pull request #20367 from ceph/simple-custom-cluster

ceph-volume: adds custom cluster name support to simple

Reviewed-by: Alfredo Deza <adeza@redhat.com>
7 years agoceph-volume: use a custom cluster name in simple functional tests 20367/head
Andrew Schoen [Thu, 8 Feb 2018 13:09:57 +0000 (07:09 -0600)]
ceph-volume: use a custom cluster name in simple functional tests

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
7 years agoMerge pull request #20305 from xiexingguo/wip-more-balancer-fixes
Xie Xingguo [Thu, 8 Feb 2018 04:30:46 +0000 (12:30 +0800)]
Merge pull request #20305 from xiexingguo/wip-more-balancer-fixes

pybind/mgr/balancer: more specific command outputs

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #20355 from luomuyao/typo
Xie Xingguo [Thu, 8 Feb 2018 03:41:48 +0000 (11:41 +0800)]
Merge pull request #20355 from luomuyao/typo

rgw: fix a typo in comment

Reviewed-by: Jos Collin <jcollin@redhat.com>
7 years agotest/encoding: refactor to avoid escaping shell magic 19954/head
Patrick Donnelly [Thu, 8 Feb 2018 00:03:48 +0000 (16:03 -0800)]
test/encoding: refactor to avoid escaping shell magic

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agomds: minor refactor of SimpleLock
Patrick Donnelly [Wed, 24 Jan 2018 23:32:18 +0000 (15:32 -0800)]
mds: minor refactor of SimpleLock

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agomds: track Capability in mempool
Patrick Donnelly [Wed, 24 Jan 2018 18:34:20 +0000 (10:34 -0800)]
mds: track Capability in mempool

Partial-fix: http://tracker.ceph.com/issues/21402

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agomds: move CInode container members to mempool
Patrick Donnelly [Tue, 16 Jan 2018 02:30:59 +0000 (18:30 -0800)]
mds: move CInode container members to mempool

Partial-fix: http://tracker.ceph.com/issues/21402

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoos/bluestore: avoid overhead of std::function in blob_t. 20294/head
Radoslaw Zarzynski [Sun, 4 Feb 2018 04:45:43 +0000 (05:45 +0100)]
os/bluestore: avoid overhead of std::function in blob_t.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
7 years agorgw: fix a typo in comment 20355/head
luomuyao [Thu, 8 Feb 2018 01:02:50 +0000 (09:02 +0800)]
rgw: fix a typo in comment

Signed-off-by: luomuyao <luo.muyao@zte.com.cn>
7 years agoMerge pull request #20161 from tchaikov/wip-20086
Josh Durgin [Wed, 7 Feb 2018 22:43:59 +0000 (14:43 -0800)]
Merge pull request #20161 from tchaikov/wip-20086

test/librados: be more tolerant with timed lock tests

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #20173 from liewegas/wip-os-ch
Josh Durgin [Wed, 7 Feb 2018 22:04:08 +0000 (14:04 -0800)]
Merge pull request #20173 from liewegas/wip-os-ch

os: unify Sequencer and CollectionHandle

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoceph-volume: set conf.cluster name during simple activate
Andrew Schoen [Wed, 7 Feb 2018 20:42:24 +0000 (14:42 -0600)]
ceph-volume: set conf.cluster name during simple activate

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
7 years agoMerge pull request #20144 from adamemerson/wip-cache-register
Adam C. Emerson [Wed, 7 Feb 2018 18:46:18 +0000 (13:46 -0500)]
Merge pull request #20144 from adamemerson/wip-cache-register

Cache Register!

Provide the ability to examine and delete elements from the cache.

rgw: Add cache introspection and manipulation

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #20176 from dillaman/wip-librbd-clone-v2-1
Mykola Golub [Wed, 7 Feb 2018 17:54:50 +0000 (19:54 +0200)]
Merge pull request #20176 from dillaman/wip-librbd-clone-v2-1

librbd: initial hooks for clone v2 support

Reviewed-by: Mykola Golub <mgolub@suse.com>
7 years agorgw: Add cache introspection and manipulation 20144/head
Adam C. Emerson [Sat, 27 Jan 2018 21:18:53 +0000 (16:18 -0500)]
rgw: Add cache introspection and manipulation

Provide the ability to examine and delete elements from the cache.

Fixes: http://tracker.ceph.com/issues/22603
Fixes: http://tracker.ceph.com/issues/22604
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
7 years agorbd-mirror: fix potential infinite loop when formatting status message 20349/head
Mykola Golub [Wed, 7 Feb 2018 11:09:54 +0000 (13:09 +0200)]
rbd-mirror: fix potential infinite loop when formatting status message

The improvements include:

- tag_tid values should always be increasing, so loop only if
  master.tag_tid > mirror_tag_tid in calculate_behind_master_or_send_update;
- in send_update_tag_cache don't refetch a tag if it is already in the
  cache;
- make fake tags with tag_data.predecessor.tag_tid set to zero;
- make sure the new tag is inserted to the cache if an old entry
  with this id happens to exist.

Fixes: http://tracker.ceph.com/issues/22932
Signed-off-by: Mykola Golub <mgolub@suse.com>
7 years agoMerge pull request #20318 from ovh/bp-limit-normalize-key
Kefu Chai [Wed, 7 Feb 2018 14:43:58 +0000 (22:43 +0800)]
Merge pull request #20318 from ovh/bp-limit-normalize-key

common/config: limit calls to normalize_key_name

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #19958 from renhwztetecs/renhw-wip-osd-sighup
Kefu Chai [Wed, 7 Feb 2018 14:40:59 +0000 (22:40 +0800)]
Merge pull request #19958 from renhwztetecs/renhw-wip-osd-sighup

osd: Sign in early SIGHUP signal

Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agomds: move CDentry container members to mempool
Patrick Donnelly [Mon, 15 Jan 2018 16:28:27 +0000 (08:28 -0800)]
mds: move CDentry container members to mempool

Partial-fix: http://tracker.ceph.com/issues/21402

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agomds: move CDir container members to mempool
Patrick Donnelly [Fri, 12 Jan 2018 19:50:19 +0000 (11:50 -0800)]
mds: move CDir container members to mempool

Partial-fix: http://tracker.ceph.com/issues/21402

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agomds: put MDSCacheObject compact_map in mempool
Patrick Donnelly [Sun, 14 Jan 2018 22:15:08 +0000 (14:15 -0800)]
mds: put MDSCacheObject compact_map in mempool

Partial-fix: http://tracker.ceph.com/issues/21402

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agocommon: use size_t for object size
Patrick Donnelly [Wed, 24 Jan 2018 19:26:42 +0000 (11:26 -0800)]
common: use size_t for object size

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agomds: convert to allocator agnostic string_view
Patrick Donnelly [Mon, 15 Jan 2018 22:30:55 +0000 (14:30 -0800)]
mds: convert to allocator agnostic string_view

This is necessary to allow many interfaces to take mempool allocated strings.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #20264 from ceph/wip-rm22620
Andrew Schoen [Wed, 7 Feb 2018 14:21:04 +0000 (15:21 +0100)]
Merge pull request #20264 from ceph/wip-rm22620

ceph-volume dmcrypt support for simple

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
7 years agoMerge pull request #20307 from tchaikov/wip-std-filesystem
Kefu Chai [Wed, 7 Feb 2018 13:56:28 +0000 (21:56 +0800)]
Merge pull request #20307 from tchaikov/wip-std-filesystem

test/admin_socket_output: switch to std::experimental::filesystem

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
7 years agoMerge pull request #20324 from tchaikov/wip-cmake-build-boost
Kefu Chai [Wed, 7 Feb 2018 13:53:30 +0000 (21:53 +0800)]
Merge pull request #20324 from tchaikov/wip-cmake-build-boost

cmake: fix the include dir for building boost::python

Reviewed-by: Piotr Dałek <piotr.dalek@corp.ovh.com>
7 years agopybind/mgr/balancer: cancel plan if distribution is already perfect 20305/head
xie xingguo [Fri, 2 Feb 2018 07:24:21 +0000 (15:24 +0800)]
pybind/mgr/balancer: cancel plan if distribution is already perfect

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
7 years agopybind/mgr/balancer: allow customized optimization threshold
xie xingguo [Fri, 2 Feb 2018 07:12:49 +0000 (15:12 +0800)]
pybind/mgr/balancer: allow customized optimization threshold

In practice it is hard to achieve a 100% (perfect) balanced distribution.
This patch introduces a user visiable threshold configuration here, which
allow user to define the minimal deviation to trigger an optimization.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
7 years agopybind/mgr/balancer: be more specific on creating an optimization plan
xie xingguo [Thu, 1 Feb 2018 07:40:56 +0000 (15:40 +0800)]
pybind/mgr/balancer: be more specific on creating an optimization plan

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
7 years agoMerge pull request #20347 from Songweibin/wip-osd-cleanup
Xie Xingguo [Wed, 7 Feb 2018 07:34:04 +0000 (15:34 +0800)]
Merge pull request #20347 from Songweibin/wip-osd-cleanup

osd: drop redundant comment

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
7 years agoosd: drop redundant comment 20347/head
songweibin [Wed, 7 Feb 2018 05:53:21 +0000 (13:53 +0800)]
osd: drop redundant comment

Signed-off-by: songweibin <song.weibin@zte.com.cn>
7 years agoMerge PR #20288 into master
Patrick Donnelly [Wed, 7 Feb 2018 04:38:14 +0000 (20:38 -0800)]
Merge PR #20288 into master

* refs/pull/20288/head:
ptl-tool: open githubmap with utf-8 code

Reviewed-by: Jos Collin <jcollin@redhat.com>
7 years agomds: remove extra 0x in ino prints 20246/head
Patrick Donnelly [Thu, 1 Feb 2018 23:20:48 +0000 (15:20 -0800)]
mds: remove extra 0x in ino prints

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agotest/objectstore/TestObjectStoreState: make objects match collection 20173/head
Sage Weil [Mon, 5 Feb 2018 17:59:09 +0000 (11:59 -0600)]
test/objectstore/TestObjectStoreState: make objects match collection

- start pool at 1
- make hash fall within pg (just match it for now)

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoos/ObjectStore: remove void *osr from Transaction
Sage Weil [Wed, 31 Jan 2018 16:48:45 +0000 (10:48 -0600)]
os/ObjectStore: remove void *osr from Transaction

No longer used!  (It was only needed for an ugly FileStore hack.)

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoos/filestore: do not rely on ObjectStore::Transaction::osr
Sage Weil [Wed, 31 Jan 2018 16:48:20 +0000 (10:48 -0600)]
os/filestore: do not rely on ObjectStore::Transaction::osr

This was used only to name the osr for the purposes of the tracepoint. We
can do that ourselves!

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: drop explicit calls to osr->flush
Sage Weil [Sat, 27 Jan 2018 17:02:23 +0000 (11:02 -0600)]
osd: drop explicit calls to osr->flush

These are no longer needed as the implementations do it themselves.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PrimaryLogPG: drop unnecessary flush() on shutdown
Sage Weil [Sat, 27 Jan 2018 17:06:00 +0000 (11:06 -0600)]
osd/PrimaryLogPG: drop unnecessary flush() on shutdown

The ObjectStore implementation should handle this.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoos: make implementation flush before collection_{list,empty}
Sage Weil [Sat, 27 Jan 2018 16:59:01 +0000 (10:59 -0600)]
os: make implementation flush before collection_{list,empty}

This takes the (awkward) burden off the caller.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoos/ObjectStore: make all read operations CollectionHandle-based
Sage Weil [Sat, 27 Jan 2018 03:37:56 +0000 (21:37 -0600)]
os/ObjectStore: make all read operations CollectionHandle-based

Drop the coll_t shims, and convert the last few that weren't already
handle-based.

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