...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>
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>
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>
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>
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>
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>
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>
** CID 1204295: Uninitialized scalar field (UNINIT_CTOR)
/osd/osd_types.h: 2716 in ObjectContext::RWState::RWState()()
Signed-off-by: Sage Weil <sage@inktank.com>
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>
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>
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>
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>