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>
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>