]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Yehuda Sadeh [Thu, 21 Jul 2016 20:26:09 +0000 (13:26 -0700)]
rgw: add configurables for {data,meta} sync error injection
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
Yehuda Sadeh [Wed, 20 Jul 2016 19:59:50 +0000 (12:59 -0700)]
rgw: fix collection of object sync errors
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
Yehuda Sadeh [Wed, 20 Jul 2016 19:43:48 +0000 (12:43 -0700)]
rgw: fix marker tracker completion handling
Was not tracking high markers correctly. Could only work if there was a single
hole in the completion range. Just keep a map of all the complete entries.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
Yehuda Sadeh [Wed, 20 Jul 2016 19:42:52 +0000 (12:42 -0700)]
rgw: collect() stops if error encoutered
and returns true if needed to be called again
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
Yehuda Sadeh [Tue, 19 Jul 2016 22:32:03 +0000 (15:32 -0700)]
rgw: back off bucket sync on failures, don't store marker
Fixes: http://tracker.ceph.com/issues/16742
If we fail on any single entry in bucket, skip updating the marker tracker
so that next time we'll go over that entry, and back off. This will trigger
a report to the data sync error repo and eventually a retry on the failing
object.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
Mark Nelson [Tue, 19 Jul 2016 21:16:29 +0000 (16:16 -0500)]
Merge pull request #10295 from xiexingguo/xxg-wip-bluestore-2016-07-14
kv/MemDB: misc fixes and cleanups
Mark's Comments:
This passed "ceph_test_objectstore --gtest_filter=*/2".
This PR did not appear to have a significant impact on performance tests.
Reviewed-by: Mark Nelson <mnelson@redhat.com>
Mark Nelson [Tue, 19 Jul 2016 21:15:25 +0000 (16:15 -0500)]
Merge pull request #10294 from xiexingguo/xxg-wip-bluestore-2016-07-13
os/bluestore: use BE for gifting and reclaiming from bluefs
Mark's Comments:
This passed "ceph_test_objectstore --gtest_filter=*/2".
This PR did not appear to have a significant impact on performance tests.
Reviewed-by: Mark Nelson <mnelson@redhat.com>
Mark Nelson [Tue, 19 Jul 2016 21:12:13 +0000 (16:12 -0500)]
Merge pull request #10277 from xiexingguo/xxg-wip-fix-posix-fallocate
os/bluestore: fix error handling of posix_fallocate()
Mark's Comments:
This passed "ceph_test_objectstore --gtest_filter=*/2".
This PR did not appear to have a significant impact on performance tests.
Reviewed-by: Mark Nelson <mnelson@redhat.com>
Mykola Golub [Tue, 19 Jul 2016 17:16:04 +0000 (20:16 +0300)]
Merge pull request #10249 from dillaman/wip-16622
rbd-mirror: snap rename does not properly replicate to peers
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Kefu Chai [Tue, 19 Jul 2016 14:43:29 +0000 (22:43 +0800)]
Merge pull request #10313 from ceph/objclass-perm-feedback
Objclass perm feedback
Reviewed-by: Kefu Chai <kchai@redhat.com>
Jason Dillaman [Mon, 11 Jul 2016 19:32:45 +0000 (15:32 -0400)]
rbd-mirror: preprocess journal events prior to applying
Fixes: http://tracker.ceph.com/issues/16622
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Fri, 8 Jul 2016 20:19:52 +0000 (16:19 -0400)]
rbd-mirror: event preprocessor to handle snap rename operations
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Fri, 8 Jul 2016 19:16:04 +0000 (15:16 -0400)]
librbd: improve journaling debug log messages
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Fri, 8 Jul 2016 18:37:14 +0000 (14:37 -0400)]
librbd: separate journal event decoding and processing
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Fri, 8 Jul 2016 13:14:58 +0000 (09:14 -0400)]
librbd: record original snap name in snap rename journal event
Remote peers need a key to map snapshot ids between clusters.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Fri, 8 Jul 2016 13:13:07 +0000 (09:13 -0400)]
librbd: simple duplicate op checks for all maintenance operations
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Fri, 8 Jul 2016 02:16:51 +0000 (22:16 -0400)]
qa/workunits/rbd: exercise snapshot renames within rbd-mirror test
Snapshot rename operations utilize the (cluster) unique snapshot
sequence to prevent attempts at replays. When mirroring to a
different cluster, these sequences will not align.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
John Spray [Tue, 19 Jul 2016 09:51:26 +0000 (10:51 +0100)]
Merge pull request #10250 from gregsfortytwo/wip-sessionmap-committing
mds: Return "committing" rather than "committed" member in get_committing
Reviewed-by: John Spray <john.spray@redhat.com>
Kefu Chai [Tue, 19 Jul 2016 09:50:21 +0000 (17:50 +0800)]
Merge pull request #10346 from tchaikov/wip-make-check
test: ceph-disk.sh do not kill all daemons
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Kefu Chai [Tue, 19 Jul 2016 08:20:43 +0000 (16:20 +0800)]
Revert "run-make-check.sh: run tests in two steps"
This reverts commit
cd0dfc305d3861b9baf332a1cc13f1c716d8017b .
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Tue, 19 Jul 2016 08:08:37 +0000 (16:08 +0800)]
Revert "cmake: label some tests with "Racing""
This reverts commit
3a21d0040a7a96aefcf0f4876ee4006c4225019c .
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Tue, 19 Jul 2016 08:04:18 +0000 (16:04 +0800)]
test: ceph-disk.sh: do not kill all daemons
this causes mysterious "racing" issues when running ceph-helper tests in
parallel.
Fixes: http://tracker.ceph.com/issues/16729
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Tue, 19 Jul 2016 02:36:42 +0000 (10:36 +0800)]
Merge pull request #10317 from wjwithagen/wip-wjw-fix-dl-lib
Cmake: fix using CMAKE_DL_LIBS instead of dl
Reviewed-by: Kefu Chai <kchai@redhat.com>
Nathan Cutler [Tue, 19 Jul 2016 00:28:15 +0000 (02:28 +0200)]
Merge pull request #10147 from SUSE/wip-16598
rpm: move mount.ceph from ceph-base to ceph-common and add symlink in /sbin for SUSE
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com
Yuri Weinstein [Mon, 18 Jul 2016 23:28:21 +0000 (16:28 -0700)]
Merge pull request #9411 from ceph/wip-rocksdb-perf
os/RocksDBStore: use effective Get API instead of iterator api
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Mark Nelson <mnelson@redhat.com>
Yuri Weinstein [Mon, 18 Jul 2016 23:23:59 +0000 (16:23 -0700)]
Merge pull request #10130 from yonghengdexin735/wip-zzz-add-
src/common/buffer.cc fix judgment for lseek
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Yuri Weinstein [Mon, 18 Jul 2016 23:22:40 +0000 (16:22 -0700)]
Merge pull request #10197 from songbaisen/b0
mon: write fsid use the right return value
Reviewed-by: Sage Weil <sage@redhat.com>
Jason Dillaman [Mon, 18 Jul 2016 20:44:58 +0000 (16:44 -0400)]
Merge pull request #9291 from trociny/wip-15715
rbd-nbd does not properly handle resize notifications
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Mon, 18 Jul 2016 20:44:15 +0000 (16:44 -0400)]
Merge pull request #9878 from neurodrone/rbd_api_shrink_check_on_resize
librbd: add explicit shrink check while resizing images
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
John Spray [Mon, 18 Jul 2016 20:01:35 +0000 (21:01 +0100)]
Merge pull request #9955 from ukernel/wip-mds-snap-failover
mds: snap failover fixes
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Ali Maredia [Mon, 18 Jul 2016 17:59:14 +0000 (13:59 -0400)]
Merge pull request #10283 from ceph/wip-cmake
cmake changes
Reviewed-by: Ali Maredia <amaredia@redhat.com>
Nathan Cutler [Mon, 18 Jul 2016 17:09:54 +0000 (19:09 +0200)]
build/ops: build mount.ceph and mount.fuse.ceph as client binaries
Signed-off-by: Nathan Cutler <ncutler@suse.com>
xie xingguo [Tue, 12 Jul 2016 02:33:57 +0000 (10:33 +0800)]
os/bluestore: use p2 macros to simplify bit-allocator block alignment
Mark's comments:
This passed "ceph_test_objectstore --gtest_filter=*/2".
This PR did not appear to have a significant impact on performance tests.
Closes #10253
os/bluestore: require block_size to be power of 2 aligned
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
os/bluestore: use ISP2 macro for zone/span size checking
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
xie xingguo [Mon, 11 Jul 2016 02:59:27 +0000 (10:59 +0800)]
os/bluestore: fix potential uninitialized nid of onode
The _zero() process may implicitly create a new onode,
thus we shall call _assign_nid() to initialize the nid
properly. And if the onode already has one, _assign_nid()
does nothing.
So it is proper to call _assign_nid() here under any case.
Mark's comments:
This passed "ceph_test_objectstore --gtest_filter=*/2".
This PR did not appear to have a significant impact on performance tests.
Closes #10236
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
os/bluestore: check against we don't overflow
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
os/bluestore: try to reap as many collections as we can
So if there is one collection getting contiguously stucking,
we don't abort at the same point each time.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
os/bluestore: make device size of BitFreelistManager is block-size aligned
Otherwise if we try to set past-eof blocks as allocated durint create(),
the call to _xor() will trigger the firing of the following assert:
assert((length & block_mask) == length);
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
xie xingguo [Sat, 9 Jul 2016 08:32:52 +0000 (16:32 +0800)]
os/bluestore: end scope of std::hex properly; convert csum error to EIO
Mark's comments:
This passed "ceph_test_objectstore --gtest_filter=*/2".
This PR did not appear to have a significant impact on performance tests.
Closes #10225
os/bluestore: end scope of std::hex properly
To avoid side-effects by accident.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
os/bluestore: convert csum error to EIO
The verify_csum() method either returns -1 or -EOPNOTSUPP, which
is not very proper and difficult for user understanding.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
os/bluestore: assert lextent is shared
Otherwise we are risking of accessing violation.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
os/bluestore: drop duplicated assignment of result code
These two methods never fail actually.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
os/bluestore: improve _do_read() a little
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
os/bluestore: assert decoding of shard of key to be successful
Otherwise we are risking of acessing null pointer.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
Nathan Cutler [Mon, 18 Jul 2016 14:16:11 +0000 (16:16 +0200)]
rpm: move mount.ceph from ceph-base to ceph-common
Ceph clients use mount.ceph to mount CephFS filesystems, and
ceph-base is not expected to be installed on client systems.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Nathan Cutler [Wed, 6 Jul 2016 08:13:03 +0000 (10:13 +0200)]
rpm: create mount.ceph symlink in /sbin (SUSE only)
Fixes: http://tracker.ceph.com/issues/16598
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Mark Nelson [Sun, 17 Jul 2016 11:39:41 +0000 (06:39 -0500)]
os/bluestore: revert preferred csum behavior
This passes "ceph_test_objectstore --gtest_filter=*/2".
This restores 4K random read performance to previous levels when objects
are were previously written out using large IOs (4MB in this case):
pre-patch: 26MB/s
post-pated: 610MB/s
Closes #10320
Signed-off-by: Mark Nelson <mnelson@redhat.com>
Somnath Roy [Sat, 9 Jul 2016 02:41:46 +0000 (22:41 -0400)]
Bluestore: Fixed a Bluestore crash
A bluestore race condition is been fixed by protecting txc structures
within _txc_state_poc with collection lock.
Mark's comments:
This fixes segfaults during random write tests with bluestore.
This passes "ceph_test_objectstore --gtest_filter=*/2".
This may introduce a small performance regresion, though there is enough
noise in the results to make it inconclusive.
Closes #10220
Signed-off-by: Somnath Roy <somnath.roy@sandisk.com>
Willem Jan Withagen [Sat, 16 Jul 2016 12:08:45 +0000 (14:08 +0200)]
Cmake: fix using CMAKE_DL_LIBS instead of dl
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
Kefu Chai [Thu, 14 Jul 2016 07:59:14 +0000 (15:59 +0800)]
cmake: only allow up to 1 hour for a ceph test
quote from
https://cmake.org/cmake/help/v3.0/prop_test/TIMEOUT.html?highlight=timeout
> If it exceeds that the test process will be killed and ctest will move
> to the next test.
this helps us to identify test hang.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 14 Jul 2016 06:50:31 +0000 (14:50 +0800)]
cmake: restructure src/CMakeLists.txt in a more hierarchical way
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 14 Jul 2016 04:29:20 +0000 (12:29 +0800)]
cmake: do not pass --disable-pip-version-check if not supported
on older versions of pip, this option is not supported, and
--disable-pip-version-check is implied with --no-index. so no need to
use them when --no-index is passed to pip.
this partially reverts
395f2c5
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 13 Jul 2016 16:27:04 +0000 (00:27 +0800)]
cmake: remove duplicated src from ceph_rgw_jsonparser
they are included by rgw_a as well. and ceph_rgw_jsonparser is linked
against rgw_a.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 13 Jul 2016 16:25:43 +0000 (00:25 +0800)]
cmake: link libcommon against $CRYPTO_LIBS
as ceph_crypt.cc is using the symbols in it, and libcommon contains
ceph_crypt.cc.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 13 Jul 2016 13:44:31 +0000 (21:44 +0800)]
run-make-check.sh: run tests in two steps
this is a workaround of the timeout found in jenkins. currently three
tests are found timeout, and they are labeld with "Racing" and
"LongRunning". so, to workaround this issue, we run the tests in two
phases:
1. run the racing tests with -j1
2. run the non-racing tests with -jN
if we all all tests with -j1, the total test time is 2683.57 sec
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 13 Jul 2016 16:04:58 +0000 (00:04 +0800)]
cmake: label some tests with "Racing"
two tests timesout for unknown reasons, so label them with
"Racing" and "LongRunning" labels.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 13 Jul 2016 13:15:32 +0000 (21:15 +0800)]
cmake: no need to depend run-tox-ceph-disk on test
run-tox-ceph-disk and run-tox-ceph-detect-init are already added as
test, so "ctest" and "make {test,check}" will run them without extra
settings.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 13 Jul 2016 13:14:30 +0000 (21:14 +0800)]
cmake: add a "tests" target to build tests
please note "make test" is used by cmake to run tests, so we cannot just
repurpose it to *build* them.
* AddCephTest.cmake: depends on "tests"
* CMakeLists.txt: let "check" depend on "tests"
* src/CMakeLists.txt: update the run-tox tests
* run-make-check.sh: use "make tests" and "ctest" instead of "make check"
* ceph-detect-init/CMakeLists.txt: let "tests" depend on
"ceph-detect-init"
* ceph-disk/CMakeLists.txt: let "tests" depend on "ceph-disk"
Signed-off-by: Kefu Chai <kchai@redhat.com>
Yehuda Sadeh [Sat, 16 Jul 2016 02:19:57 +0000 (19:19 -0700)]
Merge pull request #10301 from cbodley/wip-rgw-meta-stack-wakeup
rgw: RGWMetaSyncCR holds refs to stacks instead of crs
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
Noah Watkins [Fri, 15 Jul 2016 19:41:18 +0000 (12:41 -0700)]
release: release notes update for objclass-perms
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Noah Watkins [Fri, 15 Jul 2016 19:28:10 +0000 (12:28 -0700)]
osd: use static method and simplify return
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Casey Bodley [Thu, 14 Jul 2016 17:38:44 +0000 (13:38 -0400)]
rgw: RGWMetaSyncCR holds refs to stacks for wakeup
because RGWCoroutine::wakeup() calls RGWCoroutinesStack::wakeup(), the
stack must also stay alive
Fixes: http://tracker.ceph.com/issues/16666
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Kefu Chai [Fri, 15 Jul 2016 13:34:02 +0000 (21:34 +0800)]
Merge pull request #10306 from tchaikov/wip-no-mktemp-p
qa/workunits/cephtool/test.sh: s/TMPDIR/TEMP_DIR/
Reviewed-by: Haomai Wang <haomai@xsky.com>
Kefu Chai [Fri, 15 Jul 2016 09:25:44 +0000 (17:25 +0800)]
Merge pull request #9972 from ceph/objclass-perm
osd: object class loading and execution permissions
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Kefu Chai [Fri, 15 Jul 2016 09:09:14 +0000 (17:09 +0800)]
Merge pull request #9980 from gaowanlong/split_out_handle_pg_scrub
osd: small cleanups
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Fri, 15 Jul 2016 09:05:15 +0000 (17:05 +0800)]
Merge pull request #10126 from dx9/wip-fcntl-warns
test/libcephfs: fix gcc sys/fcntl.h warnings
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Fri, 15 Jul 2016 09:03:59 +0000 (17:03 +0800)]
Merge pull request #10166 from wjwithagen/wip-wjw-cmake-test_rados_tool.sh
test_rados_tool.sh: Make script work under ctest
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Fri, 15 Jul 2016 09:03:38 +0000 (17:03 +0800)]
Merge pull request #9782 from Ved-vampir/zlib_cleanup
compressor: zlib compressor plugin cleanup
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Fri, 15 Jul 2016 08:38:23 +0000 (16:38 +0800)]
test: run_seed_to_range.sh: check existance of a directory using [ -d "$dir" ]
sadly, sh evalutes `[ -d ]` to true. as it takes "-d" as a non-empty
string as true.
this fixes following failure
```
2016-07-12T23:22:02.839 INFO:teuthology.orchestra.run.mira084.stderr:cp:
missing destination file operand after ‘.’
2016-07-12T23:22:02.839 INFO:teuthology.orchestra.run.mira084.stderr:Try
'cp --help' for more information.
```
see
http://pulpito.ceph.com/kchai-2016-07-12_23:09:35-rados-wip-kefu-testing2---basic-mira/311334/
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Fri, 15 Jul 2016 08:20:22 +0000 (16:20 +0800)]
qa/workunits/cephtool/test.sh: s/TMPDIR/TEMP_DIR/
this fixes the test failure of
```
2016-07-12T23:29:40.935
INFO:tasks.workunit.client.0.mira101.stderr:/home/ubuntu/cephtest/workunit.client.0/cephtool/test.sh:
line 153: /CEPH_WATCH_9445: Permission denied
```
see
http://pulpito.ceph.com/kchai-2016-07-12_23:09:35-rados-wip-kefu-testing2---basic-mira/311333/
it's a regression introduced by
e5c262b
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Fri, 15 Jul 2016 06:21:50 +0000 (14:21 +0800)]
qa/workunits/cephtool/test.sh: use mktemp $TEMP_DIR/XXX instead
mktemp -p is not supported on FreeBSD
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Fri, 15 Jul 2016 04:15:55 +0000 (12:15 +0800)]
Merge pull request #10131 from badone/wip-peering-doc-fixes
doc: peering.rst, fix typo
Reviewed-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Fri, 15 Jul 2016 04:13:19 +0000 (12:13 +0800)]
Merge pull request #10292 from badone/wip-perf-counters-doc-fixes
doc: perf_counters.rst fix trivial typo
Reviewed-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 13 Jul 2016 13:09:59 +0000 (21:09 +0800)]
test: ceph-detect-init/run-tox.sh: run it from any path
this follows the pattern in ceph-disk. this enables us to run
ceph-detect-init/run-tox.sh from the ${CMAKE_BINARY_DIRECTORY}
as well.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Yan, Zheng [Mon, 11 Jul 2016 07:32:41 +0000 (15:32 +0800)]
client: fix MetaRequest::set_other_inode()
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Mon, 11 Jul 2016 03:25:37 +0000 (11:25 +0800)]
client: close directory's snapdir when deleting directory
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Mon, 11 Jul 2016 03:07:01 +0000 (11:07 +0800)]
client: invalidate snap inodes after removing snapshot
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Mon, 11 Jul 2016 02:51:13 +0000 (10:51 +0800)]
mds: fix incorrect "unconnected snaprealm xxx" warning
If a snaprealm has no child/parent snaprelam, and the snaprealm inode
is not in the cache while client reconnects. The snaprealm does not
get properly removed from MDCache::reconnected_snaplrealm. This causes
incorrect "unconnected snaprealm xxx" warning
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Thu, 30 Jun 2016 08:05:57 +0000 (16:05 +0800)]
qa/workunits/fs: fix expect_failure function in test scripts
The origin expect_failure function return 0 regardness of command's
return value.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Wed, 29 Jun 2016 12:49:40 +0000 (20:49 +0800)]
client: make sure snapflush is sent before normal cap message
MDS does null snapflush when it receives normal cap message. So client
must send snapflush first.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Tue, 28 Jun 2016 12:39:08 +0000 (20:39 +0800)]
client: unify cap flush and snapcap flush
This patch includes following changes
- assign flush tid to snapcap flush
- remove session's flushing_capsnaps list. add inode with snapcap
flushes to session's flushing_caps list instead.
- when reconnecting to MDS, re-send one inode's snapcap flushes and
cap flushes at the same time.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Wed, 29 Jun 2016 09:15:01 +0000 (17:15 +0800)]
mds: handle partly purged directory
For a snapshoted direcotry whose snaprealm parents are being opened,
MDS does not know if the directory is purgeable. So MDS can't skip
committing dirfrags of the directory. But if the direcotry is purgeale,
some dirfrags could have already been deleted during MDS failover.
Committing them could return -ENOENT.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Wed, 29 Jun 2016 03:42:42 +0000 (11:42 +0800)]
mds: do files recovery after processing cap flushes
File recovery may update inode and trigger inode COW. MDS relies on
client caps to setup CInode::client_need_snapflush. But for a given
client, the reconnected caps may not include the flushing caps.
(Before MDS failover, client released and flushed some caps at the
same time. When MDS recovers, client re-send the cap flush and send
cap reconnect to the MDS.) This may cause later snapflush to get
dropped.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Wed, 29 Jun 2016 03:25:12 +0000 (11:25 +0800)]
mds: combine MDCache::{reconnected_caps,cap_imports_dirty}
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Fri, 24 Jun 2016 09:09:34 +0000 (17:09 +0800)]
mds: remove CEPH_LOCK_IFLOCKL from cinode_lock_info
Currently we don't support dirty CEPH_CAP_FLOCK_EXCL
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Thu, 23 Jun 2016 08:59:46 +0000 (16:59 +0800)]
mds: rebuild the internal states that tracking pending snapflush
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Wed, 22 Jun 2016 12:34:41 +0000 (20:34 +0800)]
mds: using cap_reconnect_t to track cap recconect
Previous commit extended cap_reconnect_t to include snapflush
related information. This information are needed in various
places
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Wed, 22 Jun 2016 07:56:29 +0000 (15:56 +0800)]
mds: add 'follows' of first pending snapflush to cap reconnect message
This helps the recovering MDS to reconstruct the internal states that
tracking pending snapflush.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Tue, 21 Jun 2016 09:17:56 +0000 (17:17 +0800)]
mds: journal snap inodes that need flush when expiring log segment
Treat snap inodes that need flush in the same way as open files.
When MDS recovers, this make sure that journal replay bring snap
inodes that need flush into the cache
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Tue, 21 Jun 2016 08:20:58 +0000 (16:20 +0800)]
mds: properly update client_snap_caps when splitting snap inode
update the new snap inode's client_snap_caps according to the old
snap inode.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yuri Weinstein [Thu, 14 Jul 2016 22:16:22 +0000 (15:16 -0700)]
Merge pull request #9491 from Yan-waller/yj-wip-fixbuildpushop
osd/ReplicatedBackend: add sanity check during build_push_op()
Reviewed-by: Haomai Wang <haomai@xsky.com>
Yuri Weinstein [Thu, 14 Jul 2016 22:15:18 +0000 (15:15 -0700)]
Merge pull request #9510 from renhwztetecs/renhw-wip-common
common: unknown hash type of judgment modification
Reviewed-by: Sage Weil <sage@redhat.com>
Yuri Weinstein [Thu, 14 Jul 2016 22:14:39 +0000 (15:14 -0700)]
Merge pull request #9729 from stiopaa1/common_workqueue_addMove
common/WorkQueue: add std move
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 14 Jul 2016 22:13:31 +0000 (15:13 -0700)]
Merge pull request #9770 from tanghaodong25/submit-transaction-perfcounter
kv/RocksDB: add perfcounter for submit_transaction_sync operation
Reviewed-by: Sage Weil <sage@redhat.com>
Casey Bodley [Thu, 14 Jul 2016 21:06:11 +0000 (17:06 -0400)]
Merge pull request #10274 from yehudasa/wip-16665
rgw: collect skips a specific coroutine stack
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yehuda Sadeh [Thu, 14 Jul 2016 18:42:37 +0000 (11:42 -0700)]
Merge pull request #10187 from dreamhost/wip-16618
rgw: fix multi-delete query param parsing.
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Samuel Just [Thu, 14 Jul 2016 14:48:35 +0000 (07:48 -0700)]
Merge pull request #10289 from jdurgin/wip-googletest-centos
fix the rpm build for centos
Reviewed-by: Samuel Just <sjust@redhat.com>
Orit Wasserman [Thu, 14 Jul 2016 13:42:08 +0000 (15:42 +0200)]
Merge pull request #10271 from linuxbox2/rgw-rename
rgw_file: fix rename cases and unify unlink
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Orit Wasserman [Thu, 14 Jul 2016 13:16:03 +0000 (15:16 +0200)]
Merge pull request #8618 from linuxbox2/rgw-file-setattr
rgw: file setattr
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Matt Benjamin [Thu, 14 Apr 2016 23:18:37 +0000 (19:18 -0400)]
rgw_file: implement rgw_setattr
Introduce a new RGWSetattrs RGWOp descendant, to create or replace
sets of attrs on buckets or objects.
This version of the change uses the standard RGWRADOS::set_attrs op
(we want attribute changes to (e.g.) sync with other changes).
Previous versions of this changed incorrectly masked the values
of st->st_ino in RGWFileHandle::stat(), now fixed.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Orit Wasserman [Thu, 14 Jul 2016 12:31:21 +0000 (14:31 +0200)]
Merge pull request #10284 from linuxbox2/rgwfile_write_guard
rgw_file: refuse partial, out-of-order writes
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Kefu Chai [Thu, 14 Jul 2016 12:26:32 +0000 (20:26 +0800)]
Merge pull request #10258 from ukernel/wip-16655
ceph-fuse: link to libtcmalloc or jemalloc
Reviewed-by: Kefu Chai <kchai@redhat.com>
John Spray [Thu, 14 Jul 2016 11:38:48 +0000 (12:38 +0100)]
Merge pull request #10168 from batrick/client-inode-des
client: move Inode specific cleanup to destructor
Reviewed-by: John Spray <john.spray@redhat.com>
xie xingguo [Thu, 14 Jul 2016 11:03:26 +0000 (19:03 +0800)]
kv/MemDB: drop a meaningless assert
The string.clear() is stl method, which shall guarantee
the string will become empty. So this is absolutely
unnecessary.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
xie xingguo [Thu, 14 Jul 2016 10:56:41 +0000 (18:56 +0800)]
kv/MemDB: fix MemDB::_init()
1. mkdir() returns zero on success, or -1 if an error
occurred (in which case, errno is set appropriately).
2. we shall return the proper error result to caller on failure.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
xie xingguo [Thu, 14 Jul 2016 10:55:10 +0000 (18:55 +0800)]
kv/MemDB: use VOID_TEMP_FAILURE_RETRY wrapper to close fd
Which is safer.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
xie xingguo [Thu, 14 Jul 2016 10:48:20 +0000 (18:48 +0800)]
kv/MemDB: fix fd leak
Also translate the error message to the output properly.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
xie xingguo [Thu, 14 Jul 2016 10:43:03 +0000 (18:43 +0800)]
kv/MemDB: remove duplicated using statement of std::string
MemDB.h has already done such thing.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
John Spray [Thu, 14 Jul 2016 11:33:20 +0000 (12:33 +0100)]
Merge pull request #10169 from batrick/client-inode-cons
client: note order of member init in cons
Reviewed-by: John Spray <john.spray@redhat.com>