Prevously, FileStore::_omap_clear() used ObjectMap::clear(), which
incorrectly also blasts any stored xattrs. Instead, add
ObjectMap::clear_keys_header() to handle this case efficiently.
Fixes: #7065Fixes: #7135
Signed-off-by: Samuel Just <sam.just@inktank.com>
The decode_concat method is implemented, documented and tested. It is a
convenience method to concatenate chunks into a single bufferlist.
Signed-off-by: Loic Dachary <loic@dachary.org>
The encode methode uses the get_chunk_size method which is a translation
of the code it previously used for the same purpose. The chunk_count and
chunk_data_count methods return k+m and k respectively. But that will
no longer be the case after local parity is implemented.
Signed-off-by: Loic Dachary <loic@dachary.org>
The get_chunk_size and get_chunk_count methods are implemented using the
code found in the encode() method. The encode method is modified to use
the chunk size helpers.
The unit tests are modified to use the helpers.
Signed-off-by: Loic Dachary <loic@dachary.org>
With the current erasure code interface, figuring out the size of a
chunk and the number of chunks for a given object can only be achieved
by calling the encode() method on an actual buffer.
The get_chunk_count, get_data_chunk_count and get_chunk_size helpers are
added and documented.
Signed-off-by: Loic Dachary <loic@dachary.org>
Using the same format as .mailmap, match author names with the
organization sponsoring them, if any. It can be used from the command
line to display git log statistics with results aggregated by company
names.
The git-check-mailmap command that was introduced in git 1.8.4 can be
used to use .mailmap first and then .organizationmap using the
normalized author names. For instance:
git log --pretty='%aN <%aE>' | \
git -c mailmap.file=.organizationmap check-mailmap --stdin
This file is also meant to be a source of information for the maintainers of
http://metrics.ceph.com/
Signed-off-by: Loic Dachary <loic@dachary.org>
mailmap updates
Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Roald J. van Loon <roald@roaldvanloon.nl>
Reviewed-by: David Moreau Simard <dmsimard@iweb.com>
We were only setting m_fs_type = FS_TYPE_XFS if
m_filestore_replica_fadvise was also set -- presumably
the bug fix accidentally blocked off too much of the code type. This
resulted in our xattr counts always being set too low: the store
is mounted (and thus does _detectfs) twice; once in as part of the
not-as-conditional-as-it-looks convertfs in ceph_osd.cc, and once
as part of OSD::init().
Reported-by: Sushma Gurram <Sushma.Gurram@sandisk.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
The mon command acks include a version that is used by the client to
determine which version of the map they need to get or wait for in order
to see the effects of their command. Current we are returning
get_last_committed() everywhere, but we are about to commit something (and
waiting for it), which will increase that value by one. As a result,
clients are always getting epoch/version-1 instead of epoch.
This manifested by a LibRadosTier.Promote test that failed becaues the
OSD had the OSDMap updates adding the tier and overlay but not the final
map change that set the cache-mode to writeback. I suspect this is also
the cause of of spurious errors in the past where we've seen misdirected
request errors that made no sense.
Backport: emperor, dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao@inktank.com>
Apparently the swift api defines two temp url keys. Add internal support
for multiple keys, radosgw-admin can config two keys.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Fixes: #3454
Implement auth handling code that checks temp url signature and
expiration. The key that is used for the signature is the bucket owner's
temp url key.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
In order to maintain compatibility with swift clients that expect the
url to also contain a reference to the tenant name, add an optional
param (empty by default) that would add it.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Fixes: #7110
In dumpling, the bucket info was separated into bucket entry point and
bucket instance objects. When setting bucket attrs we only ended up
updating the bucket instance object. However, pre-dumpling buckets still
keep everything at the entry-point object, so acl changes didn't affect
anything (because we never updated the entry point). This change just
converts the bucket info into the new format.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Fedora's rpmlint complains that some of the source code files in the
tree happen to be executable. Remove the execute bits from these files
to resolve the rpmlint warning.
Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
First, add the ability to modify max_file_size. While we are at it, move
to a more sensible interface for adjusting max_mds too.
Signed-off-by: Sage Weil <sage@inktank.com>