zap only makes sense on a full device and this is verified for
ceph-disk prepare --zap-disk
but not for
ceph-disk zap
Unify the two and add a test to check that it fails as expected when
trying to zap a directory.
http://tracker.ceph.com/issues/11272Fixes: #11272
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Dont bail out if the input value happens to be .
Fixes: #11620
Signed-off-by: Rajesh Nambiar <rajesh.n@msystechnologies.com>
Tested-by: Sage Weil <sage@redhat.com>
Update the ErasureCodeShec::init function to use string default
values. The default profile values for technique, ruleset-root and
ruleset-failure-domain are set for the user to see.
The error message when an invalid technique is provided is written to
the error stream to be returned to the user instead of being written to
the OSD log.
Updating other values from the profile would require deeper changes and
is left for later.
http://tracker.ceph.com/issues/9589Fixes: #9589
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Update the ErasureCodeLrc::init function to use string default values
and update the profile accordingly.
If the k,m,l values are set and generate mappings and layers entries,
those are not stored in the profile. The details of what k,m,l create
are private and not exposed to the caller.
http://tracker.ceph.com/issues/9589Fixes: #9589
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Update the ErasureCodeJerasure::init function to use string default values
and update the profile accordingly.
The ErasureCodeJerasure::revert_to_default prototype is modified so it
can update the profile.
http://tracker.ceph.com/issues/9589Fixes: #9589
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Update the ErasureCodeIsa::init function to use string default values
and update the profile accordingly.
Also fix a bug by which the plugin would incorrectly report using the
default technique when the reed_sol_van or cauchy techniques are the
only legitimate values.
http://tracker.ceph.com/issues/9589Fixes: #9589
Signed-off-by: Loic Dachary <ldachary@redhat.com>
The to_int, to_bool prototypes are modified and the default values are
changed to string instead of int. If a default value is set, the profile
is modified to contain the default value.
The to_string helper is added so it can be used to set the default value
of a string, in a way that is consistent with to_int and to_bool.
http://tracker.ceph.com/issues/9589Fixes: #9589
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Interestingly enough, the function is not even entirely idempotent:
it prints debugging output, duplicated.
Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
This includes all submodules *except* ceph-object-corpus and
ceph-erasure-code-corpus.
This is a bit different that autotools' version:
- compiled man pages
- some autotools cruft
- src/.git_version
- compiled *.in files
+ .git*
+ CMake stuff
+ copyright files
+ readme files
+ cmake/
+ debian/
+ doc/
+ keys/
+ qa/
+ systemd/
+ tons of other stuff we should probably have included
All in all, I think it's much more complete.
Signed-off-by: Sage Weil <sage@redhat.com>
Instead of removing the | when an alternative is found in the control
file such as
cryptsetup-bin | cryptsetup
remove the surrounding spaces so that it is treated as a regular
expression that matches either one.
Replace the form
sudo bash -c "FOO=bar ..."
with
sudo env FOO=bar ...
to reduce the levels of shell escaping.
Reported-by: http://dyweni.com/
Signed-off-by: Loic Dachary <ldachary@redhat.com>
The wheel and pip module must not only be installed in each wheelhouse
directory for tox to find. They must also be installed in the virtual
environment that populates the wheelhouse directory. Otherwise older pip
modules such as the one found by default on Ubuntu 12.04 will fail.
Python 2.7.3 on Ubuntu 12.04 also requires that distribute >= 0.7.3 is
installed although it is redundant with setuptools, otherwise it will
fail to run the wheel module.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Otherwise we can reorder an op around another op which got blocked by a
scrub which started after the first blocked on an obc.
Fixes: #11691
Signed-off-by: Samuel Just <sjust@redhat.com>
os/chain_xattr: cope with xfs limit of 254 bytes for inlined xattrs.
Reviewed-by: Haomai Wang <haomaiwang@gmail.com>
Reviewed-by: Ning Yao <zay11022@gmail.com>
This way, even if leveldb/rocksdb is on another filesystem/disk,
it will still be synced before trimming the journal. Note, this
patch only syncs the object_map in the !backend->can_checkpoint()
case since if the backend can checkpoint, the checkpoint must
also capture the object_map since we have not been setting replay
guards in the object_map.
Signed-off-by: Samuel Just <sjust@redhat.com>
Replicated: For COPY_GET, only src has data/omap digest, the dst can do.
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
the MDS (Beacon) is always expecting the reply for the mdsbeacon messages from
the lead mon, and it uses the delay as a metric for the laggy-ness of the
Beacon. when it comes to the MDSMonitor on a peon, it will remove the route
session at seeing a reply (route message) from leader, so a reply to
mdsbeacon will stop the peon from resending the mdsbeacon request to the
leader.
if the MDSMonitor re-forwards the unreplied requests after they are
outdated, there are chances that the requests reflecting old and even wrong
state of the MDSs mislead the lead monitor. for example, the MDSs which sent
the outdated messages could be dead.
Fixes: #11590
Signed-off-by: Kefu Chai <kchai@redhat.com>
rpm lint says the following directories
/usr/share/ceph
/usr/lib/ceph
are un owned by any package and this causes
OBS to emit errors.
Signed-off-by: Owen Synge <osynge@suse.com>
Client::flush_caps(Inode *, MetaSession *) does not start flushing
dirty caps. It only re-send caps message for caps that are already
being flushed.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Client::_fsync() calls Client::wait_sync_caps(uint64_t), which
waits for all inodes' flush caps. It's suboptimal, this patch
makes Client::_fsync() wait for flushing caps which belong to
the fsync inode.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Current code always updates flushing_cap_seq when marking dirty
caps as flushing. If there are old flushing caps, updating
flushing_cap_seq confuses Client::wait_sync_caps(uint64_t), make
it think that the old caps have been flushed.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
setfilelock requests only modify states in MDS memory. The states get
lost when MDS fails. If a setfilelock reply gets lost when MDS fails,
client will re-send corresponding setfilelock request when new MDS
restarts. The new MDS should re-execute the setfilelock request
Signed-off-by: Yan, Zheng <zyan@redhat.com>