]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Joao Eduardo Luis [Sat, 3 May 2014 02:42:19 +0000 (03:42 +0100)]
mon: OSDMonitor: disallow nonsensical cache-mode transitions
Fixes: 8155
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Joao Eduardo Luis [Tue, 29 Apr 2014 17:03:56 +0000 (18:03 +0100)]
mon: OSDMonitor: return immediately if 'osd tier cache-mode' is a no-op
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Haomai Wang [Fri, 11 Apr 2014 09:28:13 +0000 (17:28 +0800)]
Copy range using fiemap not entire length
Under rbd usage, if a volume has tens of thousands of objects and each 4M
object only has several KB(run fio on this volume or other cases), this volume
will be very low performance during a long time after create snapshot on
this volume. The OSD will be busy with large bandwidth read/write although
the object actually has few bytes needed to be copied.
This commit try to use fiemap if backend fs support, it can skip unnecessary
range to write. It also can be beneficial to space effective, because the copied
object will be regard as snapshot object which is access infrequently.
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Shawn Edwards [Tue, 29 Apr 2014 00:05:36 +0000 (17:05 -0700)]
rbd-fuse: fix unlink
The path contains a leading / that needs to be ignored.
Fixes: #8197
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Sage Weil [Mon, 28 Apr 2014 23:52:12 +0000 (16:52 -0700)]
Merge pull request #1701 from ceph/wip-libkrbd
libkrbd convenience library
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Sage Weil [Mon, 28 Apr 2014 23:51:33 +0000 (16:51 -0700)]
Merge pull request #1648 from ceph/wip-client-sleep
Wip client sleep
Reviewed-by: Sage Weil <sage@inktank.com>
Josh Durgin [Mon, 28 Apr 2014 22:51:43 +0000 (15:51 -0700)]
Merge pull request #1709 from dachary/wip-brag
brag : useability changes
Reviewed-by: Babu Shanmugam <anbu@enovance.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Mon, 28 Apr 2014 22:36:32 +0000 (15:36 -0700)]
Merge branch 'wip-rbd-invalidate'
Reviewed-by: Sage Weil <sage@inktank.com>
Josh Durgin [Mon, 28 Apr 2014 22:33:34 +0000 (15:33 -0700)]
Merge pull request #1737 from steveftaylor/add_rbd_fuse_image_restriction
Added a new command line parameter (-i or --image=) that allows rbd-fuse...
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Josh Durgin [Mon, 28 Apr 2014 22:28:31 +0000 (15:28 -0700)]
Merge pull request #1699 from chrisglass/python-api-cleanup
Simple mechanical cleanups
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Thu, 24 Apr 2014 21:47:24 +0000 (14:47 -0700)]
librbd: add an interface to invalidate cached data
This is useful for qemu to guarantee live migration with caching is
safe, by invalidating the cache on the destination before starting it.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Thu, 24 Apr 2014 21:43:35 +0000 (14:43 -0700)]
librbd: check return code and error out if invalidate_cache fails
This will only happen when shrinking or rolling back an image is done
while other I/O is in flight to the same ImageCtx. This is unsafe, so
return an error before performing the resize or rollback.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Stephen F Taylor [Mon, 28 Apr 2014 21:31:07 +0000 (15:31 -0600)]
Changed the -i parameter to -r in order to avoid a conflict with a generic flag interpreted by the common code.
Sage Weil [Mon, 28 Apr 2014 21:13:24 +0000 (14:13 -0700)]
Merge pull request #1652 from ceph/wip-5170-firefly
Wip 5170 firefly
Sage Weil [Mon, 28 Apr 2014 21:11:20 +0000 (14:11 -0700)]
Merge pull request #1734 from ceph/wip-8202
rgw: fix url escaping
Reviewed-by: Sage Weil <sage@inktank.com>
Yehuda Sadeh [Mon, 28 Apr 2014 21:06:11 +0000 (14:06 -0700)]
Merge pull request #1736 from ceph/wip-7500-wusui
Fix s3 tests in the rgw workunit.
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
Warren Usui [Mon, 28 Apr 2014 20:30:40 +0000 (13:30 -0700)]
Fix s3 tests in the rgw workunit.
Make it possible to set RGW_PORT with ENV variable.
Fixes: 7500
Signed-off-by: Warren Usui <warren.usui@inktank.com>
Stephen F Taylor [Mon, 28 Apr 2014 20:49:30 +0000 (14:49 -0600)]
Added a new command line parameter (-i or --image=) that allows rbd-fuse to specify a single image to be made available within
the mount directory. The purpose of this is to allow a single RBD to be "mounted" in userspace without opening (and locking)
the other RBDs in the pool.
This is accomplished by performing a case-sensitive string compare in enumerate_images() when an image name is
specified on the command line. If no image name is specified, all images appear in the mount directory. If a non-existent
image name is specified, the mount directory is empty.
Signed-off-by: Stephen F Taylor <steveftaylor@gmail.com>
Sage Weil [Mon, 28 Apr 2014 19:40:04 +0000 (12:40 -0700)]
doc/release-notes: v0.67.8 notes
Signed-off-by: Sage Weil <sage@inktank.com>
Yehuda Sadeh [Fri, 25 Apr 2014 21:11:27 +0000 (14:11 -0700)]
rgw: fix url escaping
Fixes: #8202
This fixes the radosgw side of issue #8202. Needed to cast value
to unsigned char, otherwise it'd get padded.
Backport: dumpling
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yan, Zheng [Fri, 11 Apr 2014 08:42:42 +0000 (16:42 +0800)]
client: cleanup unsafe requests if MDS session is reset
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Yan, Zheng [Fri, 11 Apr 2014 08:31:29 +0000 (16:31 +0800)]
client: wake up cap waiters if MDS session is reset
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Yan, Zheng [Fri, 11 Apr 2014 07:34:25 +0000 (15:34 +0800)]
client: drop dirty/flushing caps if auth MDS' session is reset
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Yan, Zheng [Fri, 11 Apr 2014 07:03:37 +0000 (15:03 +0800)]
client: add asok command to kick sessions that were remote reset
Fixes: #8021
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Yan, Zheng [Sat, 26 Apr 2014 12:49:16 +0000 (20:49 +0800)]
Merge pull request #1729 from ceph/wip-7966
readlink result in resapwn
Reviewed-by: Yan, Zheng <zheng.z.yan@intel.com>
Sage Weil [Sat, 26 Apr 2014 02:46:24 +0000 (19:46 -0700)]
mds: terminate readlink result in resapwn
readlink(2) does not null terminate the buffer; we need to do that.
Fixes: #7966
Signed-off-by: Sage Weil <sage@inktank.com>
wusui [Fri, 25 Apr 2014 23:20:20 +0000 (16:20 -0700)]
Merge pull request #1727 from ceph/wip-8193
ceph_test_rados_api_tier: increase HitSetTrim timeouts
Sage Weil [Fri, 25 Apr 2014 22:58:47 +0000 (15:58 -0700)]
Merge pull request #1725 from FlorentCoppint/master
Skipping '_netdev' Debian fstab option
Reviewed-by: Sage Weil <sage@inktank.com>
Sage Weil [Fri, 25 Apr 2014 22:49:06 +0000 (15:49 -0700)]
ceph_test_rados_api_tier: increase HitSetTrim timeouts
...so that they pass when they get unlucky with thrashing.
This will vastly decrease the probability of failure, but failure will
always be possible when a timeout is in place.
Fixes: #8193
Signed-off-by: Sage Weil <sage@inktank.com>
FlorentCoppint [Fri, 25 Apr 2014 07:20:02 +0000 (09:20 +0200)]
Skipping '_netdev' Debian fstab option
Signed-off-by: Florent Bautista <florent@coppint.com>
Loic Dachary [Thu, 24 Apr 2014 20:42:09 +0000 (22:42 +0200)]
Merge pull request #1717 from dachary/wip-auid
mon: add ceph osd pool set <pool> auid
Reviewed-by: Greg Farnum <greg@inktank.com>
wusui [Thu, 24 Apr 2014 20:27:40 +0000 (13:27 -0700)]
Merge pull request #1724 from ceph/wip-uselocalgithubforqemu-wusui
Use new git mirror for qemu-iotests
Warren Usui [Thu, 24 Apr 2014 19:55:26 +0000 (12:55 -0700)]
Use new git mirror for qemu-iotests
Fixes: 8191
Signed-off-by: Warren Usui <warren.usui@inktank.com>
Loic Dachary [Tue, 22 Apr 2014 13:41:47 +0000 (15:41 +0200)]
brag : implement --verbose on client
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Tue, 22 Apr 2014 13:35:20 +0000 (15:35 +0200)]
brag : document the zero argument behavior
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Tue, 22 Apr 2014 13:24:32 +0000 (15:24 +0200)]
brag : meaningfull error messages
To help figure out problems, include the error message in the output
when a submission fails.
Signed-off-by: Loic Dachary <loic@dachary.org>
Sage Weil [Thu, 24 Apr 2014 01:00:59 +0000 (18:00 -0700)]
Merge remote-tracking branch 'gh/firefly'
Sage Weil [Thu, 24 Apr 2014 00:23:12 +0000 (17:23 -0700)]
Merge pull request #1720 from jdurgin/wip-list-children-test
test_rbd.py: ignore children in cache pools
Reviewed-by: Sage Weil <sage@inktank.com>
Sage Weil [Wed, 23 Apr 2014 23:07:02 +0000 (16:07 -0700)]
Merge pull request #1719 from ceph/wip-8168
Wip 8168
Reviewed-by: Sage Weil <sage@inktank.com>
Samuel Just [Tue, 22 Apr 2014 23:03:48 +0000 (16:03 -0700)]
ReplicatedPG::do_osd_ops: consider head whiteout in list-snaps
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Tue, 22 Apr 2014 22:12:52 +0000 (15:12 -0700)]
ReplicatedPG::do_op: don't return ENOENT for whiteout on snapdir read
Signed-off-by: Samuel Just <sam.just@inktank.com>
Josh Durgin [Wed, 23 Apr 2014 20:47:02 +0000 (13:47 -0700)]
Merge pull request #1718 from ceph/wip-7882-wusui
Support latest qemu iotest code
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Wed, 23 Apr 2014 20:27:48 +0000 (13:27 -0700)]
test_rbd.py: ignore children in cache pools
This is necessary until http://tracker.ceph.com/issues/8187 is fixed.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Loic Dachary [Wed, 23 Apr 2014 19:55:57 +0000 (21:55 +0200)]
mon: add ceph osd pool set <pool> auid
When a pool is created with ceph osd pool create, the auid is not
inferred from the session auid and is set to zero. Add the
ceph osd pool set <pool> auid <int>
command to set it after it is created, and the matching get:
ceph osd pool get <pool> auid
Signed-off-by: Loic Dachary <loic@dachary.org>
Warren Usui [Wed, 23 Apr 2014 20:20:14 +0000 (13:20 -0700)]
Support latest qemu iotest code
Modified qemu-iotests workunit script to check for versions
that use the latest qemu (currently only Trusty). Limit the
tests to those that are applicable to rbd.
Fixes: 7882
Signed-off-by: Warren Usui <warren.usui@inktank.com>
Sage Weil [Wed, 23 Apr 2014 15:51:26 +0000 (08:51 -0700)]
Merge pull request #1714 from ceph/wip-fs-client
two small fixes for client
Reviewed-by: Sage Weil <sage@inktank.com>
Ilya Dryomov [Wed, 23 Apr 2014 08:57:12 +0000 (12:57 +0400)]
rbd: deprecate --no-settle option
Waiting for udev has been the default for a while now, and, after
switching to libkrbd, is no longer an option. (libkrbd waits for
specific devices to show up, the old behaviour was to wait for
everything udev.)
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Ilya Dryomov [Fri, 18 Apr 2014 17:18:29 +0000 (21:18 +0400)]
doc: 'rbd showmapped' doesn't need privileges
No need to run 'rbd showmapped' with sudo.
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Ilya Dryomov [Fri, 18 Apr 2014 17:19:27 +0000 (21:19 +0400)]
doc: do not mention modprobe in rbd docs
rbd binary will load rbd.ko itself, with appropriate options. Loading
it by hand with default options is undesirable.
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Ilya Dryomov [Thu, 17 Apr 2014 15:03:24 +0000 (19:03 +0400)]
rbd: switch to libkrbd for 'rbd {map,showmapped,unmap}' operations
Thanks to libkrbd, 'rbd map' now outputs the device node it mapped to
to stdout:
$ sudo rbd map foo
/dev/rbd0
This will allow us to get rid of a lot of ad-hoc poll/sleep code in our
qa scripts.
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Ilya Dryomov [Thu, 17 Apr 2014 15:03:24 +0000 (19:03 +0400)]
mount.ceph: switch to module_load()
Implement modprobe() in terms of module_load() from common/module.h
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Ilya Dryomov [Thu, 17 Apr 2014 15:03:24 +0000 (19:03 +0400)]
rbd: add libkrbd convenience library
Add libkrbd libtool convenience library to provide an interface for
mapping and unmapping rbd images programmatically. This will be used
by the rbd binary itself and the librbd_fsx testing tool.
libkrbd takes care of the kernel module stuff (common/module.h) and
makes use of libudev to be able to properly wait for block device
creation and deletion and tell which block device got assigned by the
kernel to the newly created mapping.
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Yan, Zheng [Mon, 21 Apr 2014 08:26:33 +0000 (16:26 +0800)]
client: check cap ID when handling cap export message
handle following sequence of events:
- mds0 exports an inode to mds1. client receives the cap import
message from mds1. caps from mds0 are removed while handling
the cap import message.
- mds1 exports an inode to mds0. client receives the cap export
message from mds1. handle_cap_export() adds placeholder caps
for mds0
- client receives the first cap export message (for exporting
inode from mds0 to mds1)
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Yan, Zheng [Tue, 22 Apr 2014 02:26:50 +0000 (10:26 +0800)]
client: avoid releasing caps that are being used
To avoid releasing caps that are being used, encode_inode_release()
should send implemented caps to MDS.
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Samuel Just [Wed, 23 Apr 2014 00:36:20 +0000 (17:36 -0700)]
Merge pull request #1713 from ceph/wip-7439
Wip 7439
Reviewed-by: Sage Weil <sage@inktank.com>
Samuel Just [Tue, 22 Apr 2014 21:56:08 +0000 (14:56 -0700)]
ReplicatedPG: handle ec pools in mark_all_unfound_lost
Signed-off-by: Samuel Just <sam.just@inktank.com>
Jenkins [Tue, 22 Apr 2014 21:21:45 +0000 (21:21 +0000)]
0.80-rc1
Samuel Just [Tue, 22 Apr 2014 19:45:28 +0000 (12:45 -0700)]
ReplicatedPG: enable mark_unfound_lost delete for ec pools
revert is tricky to implement at this time for ec pools, so
we'll instead just implement delete for ec pools.
Fixes: #7439
Signed-off-by: Samuel Just <sam.just@inktank.com>
Sage Weil [Tue, 22 Apr 2014 16:42:16 +0000 (09:42 -0700)]
qa/workunits/rbd/copy.sh: skip some tests when tiering is enabled
The rados ls bit doesn't work.
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Sage Weil [Tue, 22 Apr 2014 16:37:32 +0000 (09:37 -0700)]
qa/workunits/rbd/copy.sh: fix test
I broke this in commit
9d64ac66082bd108ec3c2a74e2e77475b5564eae .
Signed-off-by: Sage Weil <sage@inktank.com>
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Sage Weil [Tue, 22 Apr 2014 19:40:02 +0000 (12:40 -0700)]
Merge pull request #1691 from ceph/wip-8139
osd_types: pg_t: allow is_split to handle checks for splits prior to the most recent
Reviewed-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Tue, 22 Apr 2014 17:21:55 +0000 (10:21 -0700)]
ECBackend: use std::swap for boost::optional
Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Samuel Just <sam.just@inktank.com>
Ilya Dryomov [Thu, 17 Apr 2014 15:03:24 +0000 (19:03 +0400)]
common: add module_{load,has_parameter}()
Add two kernel module helpers: module_{module,has_parameter}(). They
are going to live in common/module.[ch].
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Ilya Dryomov [Thu, 17 Apr 2014 15:03:24 +0000 (19:03 +0400)]
Makefile: build common/secret.c with libtool
Turn common/secret.c into a libtool convenience library, libsecret.la.
Currently it is build directly, twice: for mount.ceph and rbd binaries.
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Ilya Dryomov [Thu, 17 Apr 2014 15:03:24 +0000 (19:03 +0400)]
configure: check for blkid/blkid.h header
The check for the presence of blkid/blkid.h was missing.
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Ilya Dryomov [Wed, 16 Apr 2014 07:39:00 +0000 (11:39 +0400)]
rbd: use stringify() in options parsing routines
Use stringify() in map_option_{uuid,ip,int}_cb() instead of essentially
open-coding it.
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Ilya Dryomov [Wed, 16 Apr 2014 07:39:00 +0000 (11:39 +0400)]
stringify: use ostringstream instead of stringstream
Use ostringstream, as we don't need both input and output of the
stringstream in stringify().
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Yehuda Sadeh [Tue, 22 Apr 2014 16:02:33 +0000 (09:02 -0700)]
Merge pull request #1710 from ceph/wip-coverity
a couple coverity fixes
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
Sage Weil [Tue, 22 Apr 2014 15:37:21 +0000 (08:37 -0700)]
Merge pull request #1711 from ceph/wip-coverity-respawn
mds: make strncpy in ::respawn safer
Reviewed-by: Sage Weil <sage@inktank.com>
John Spray [Tue, 22 Apr 2014 15:31:27 +0000 (16:31 +0100)]
mds: make strncpy in ::respawn safer
Previous code assumed null terminated argv[0]
was not longer than PATH_MAX and the resulting
strncpy was not strictly safe.
Modify the bounds to ensure that copy will not
result in an unterminated string if argv[0]
is oversized.
Signed-off-by: John Spray <john.spray@inktank.com>
Sage Weil [Tue, 22 Apr 2014 15:29:58 +0000 (08:29 -0700)]
osd/osd_types: RWState: initialize snaptrimmer_write_marker
** CID
1204295 : Uninitialized scalar field (UNINIT_CTOR)
/osd/osd_types.h: 2716 in ObjectContext::RWState::RWState()()
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Tue, 22 Apr 2014 15:28:52 +0000 (08:28 -0700)]
osdc/Objecter: drop unused field
This as missed by
860d72770cdf092c027d50f4ee03bed76c975599 .
** CID
1204296 : Uninitialized scalar field (UNINIT_CTOR)
/osdc/Objecter.h: 1165 in Objecter::Op::Op(const object_t &, const
object_locator_t &, std::vector<OSDOp, std::allocator<OSDOp>> &, int, Context *,
Context *, unsigned long *)()
/osdc/Objecter.h: 1165 in Objecter::Op::Op(const object_t &, const
object_locator_t &, std::vector<OSDOp, std::allocator<OSDOp>> &, int, Context *,
Context *, unsigned long *)()
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Tue, 22 Apr 2014 01:33:00 +0000 (18:33 -0700)]
doc/release-notes: a bit of prose about firefly
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Sun, 20 Apr 2014 05:08:41 +0000 (22:08 -0700)]
osd/osd_types: pg_interval_t: include primaries in operator<<
Also make up vs acting explicit.
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Sun, 20 Apr 2014 05:06:48 +0000 (22:06 -0700)]
osd/osd_types: pg_interval_t: include up_primary in pg_interval_t
Nothing uses this, but it triggers a new interval, which makes it confusing
when it is not recording in the interval itself. Let's add it now.
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Sun, 20 Apr 2014 05:05:27 +0000 (22:05 -0700)]
osd/osd_types: pg_interval_t: dump primary
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Sun, 20 Apr 2014 05:04:33 +0000 (22:04 -0700)]
osd: change in up set primary constitutes a peering interval change
In several places, a change in the up_primary triggers a new peering
interval, but the palces that actually generate the new past intervals,
including check_new_interval(), did not enforce that. This becomes
somewhat obvious when you see that those callers are ignoring the
up_primary output argument for pg_to_up_acting_osds().
Fix this by adding arguments to check_new_interval and fixing the callers
to pass them in properly. Add a unit test case to verify this.
Note that the past interval struct itself does not record who the
up_primary was; possibly it should.
Fixes: #8139
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Fri, 18 Apr 2014 22:48:33 +0000 (15:48 -0700)]
osd: use parent pgid (as appropriate) in generate_past_intervals()
Feed in the ancestor pg_t (if any) when we are looking at intervals for
previous maps that may have preceded a recent split.
Fixes: #8139
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Tue, 22 Apr 2014 03:49:43 +0000 (20:49 -0700)]
Merge pull request #1651 from enovance/wip-brag
Few bug fixes in ceph-brag
Reviewed-by: Sage Weil <sage@inktank.com>
Sage Weil [Tue, 22 Apr 2014 01:20:56 +0000 (18:20 -0700)]
doc/release-notes: v0.80
Signed-off-by: Sage Weil <sage@inktank.com>
Josh Durgin [Mon, 21 Apr 2014 23:53:35 +0000 (16:53 -0700)]
Merge pull request #1707 from ceph/wip-rbd-test
rbd: fix tests for cache pools
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Sage Weil [Mon, 21 Apr 2014 23:47:10 +0000 (16:47 -0700)]
qa/workunit/rbd/import_export.sh: skip list-objects tests with tiering
Listing objects isn't reliable with cache pools; skip that part of the
test if we see that rbd has tiering enabled.
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Mon, 21 Apr 2014 23:26:23 +0000 (16:26 -0700)]
qa/workunit/rbd/copy.sh: do not delete/recreate rbd pool
Among other things, it breaks when tiering is enabled.
Signed-off-by: Sage Weil <sage@inktank.com>
John Wilkins [Mon, 21 Apr 2014 22:43:23 +0000 (15:43 -0700)]
doc: Fixed syntax to include 'pool'.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
Samuel Just [Sun, 20 Apr 2014 23:45:12 +0000 (16:45 -0700)]
PG::PriorSet: consider lost osds in up_now for pcontdec
Otherwise, the pg will remain down even as osds are marked lost.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Mon, 21 Apr 2014 22:13:22 +0000 (15:13 -0700)]
Merge pull request #1703 from ceph/wip-7942
Wip 7942
Reviewed-by: Sage Weil <sage@inktank.com>
Samuel Just [Wed, 16 Apr 2014 17:37:01 +0000 (10:37 -0700)]
ReplicatedPG::do_op: check for blocked snapset obj
Otherwise, we might use an invalid snapset in find_object_context.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Mon, 14 Apr 2014 23:20:39 +0000 (16:20 -0700)]
ReplicatedPG: in trim, grab w locks on obc and snapset_obc
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Fri, 18 Apr 2014 23:51:34 +0000 (16:51 -0700)]
ReplicatedPG: if we get ENOENT on clone, remove clone from snapset
Fixes: #7916
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Tue, 8 Apr 2014 21:03:59 +0000 (14:03 -0700)]
ReplicatedPG: do not create whiteout clones
First, make_writeable treats whiteout heads like snapdir for
cloning purposes. Second, to ensure that we send the correct
deletes on flush to the backing pool, we instead use oi.snaps
on any clone we are flushing to infer the snaps during which
head did not exist and send a delete as appropriate prior to
the copy_from.
Normally, we'd have a problem if the delete and the copy_from
completed, but an interval change intervened before the dirty
flag was cleared since we'd end up re-deleting the object.
To avoid that, we use the CEPH_OSD_FLAG_ORDERSNAP flag.
Additionally, we will use the correct snap_seq on the delete
or flush as appropriate to ensure that the previous clone
gets created with the same clone id as in the cache pool.
Fixes: #7942
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Tue, 8 Apr 2014 21:27:33 +0000 (14:27 -0700)]
ReplicatedPG,rados: add CEPH_OSD_[COPY_FROM]_MAP_SNAP_TO_CLONE
When promoting a clone, we want to use the provided snapid to specify
specify the clone id directly.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Sage Weil [Mon, 21 Apr 2014 21:28:43 +0000 (14:28 -0700)]
Merge pull request #1705 from ceph/wip-8124
Wip 8124
Reviewed-by: Sage Weil <sage@inktank.com>
Sage Weil [Mon, 21 Apr 2014 21:18:21 +0000 (14:18 -0700)]
qa/workunits/cephtool/test.sh: make set pg_num test non-racy
Loop while the pool is creating.
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
Samuel Just [Sun, 20 Apr 2014 20:16:36 +0000 (13:16 -0700)]
ReplicatedPG: do not use shard for hit_set object names
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Sat, 19 Apr 2014 01:11:55 +0000 (18:11 -0700)]
ReplicatedPG::agent_load_hit_sets: take ondisk_read_lock
Otherwise, the hit_set might be not yet written due to a recently
completed recovery.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Fri, 18 Apr 2014 22:14:33 +0000 (15:14 -0700)]
PG,PGLog: update hit_set during peering
Fixes: #8124
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Thu, 17 Apr 2014 19:27:07 +0000 (12:27 -0700)]
osd/: propogate hit_set history with repop
We don't actually send the whole info on each repop, just the log
entries, updated stats, and a few other bits. For hit_set ops, we need
to also communicate the new hit_set history status atomically with the
log entries and the transaction. Thus, we add a channel for an optional
pg_hit_set_history_t field in PGBackend::submit_transaction interface
and associated messages and implementations to update the hit_set info
field along with the log entries.
This also means that hit_set_(persist|trim) update an
updated_hit_set_history field on the OpContext instead of directly
modifying the info field.
Fixes: #8124
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Thu, 17 Apr 2014 19:23:21 +0000 (12:23 -0700)]
encoding: use unqualified name for encode/decode in boost::optional encoding
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Thu, 17 Apr 2014 18:03:19 +0000 (11:03 -0700)]
ECMsgTypes::ECSubWrite: fix at_version indentation
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Mon, 21 Apr 2014 17:52:58 +0000 (10:52 -0700)]
osd: track the number of hit_set archive objects in a pg
Also, use this value in agent_choose_mode instead of the max
number.
Related: #8124
Signed-off-by: Samuel Just <sam.just@inktank.com>