This field in MOSDSubOp, used to support very old version
OSD(MOSDSubOp header version < 7, which was introduced in
mid 2012 by commit 2fe9816305)
Now since two years pasted, we don't need it anymore.
Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
With xmlstarlet 1.3.0 (which is on Ubuntu precise)
xmlstarlet sel -t -m '//pg_stat/state[(contains(.,'\''active'\'') and
contains(.,'\''clean'\'') and not(contains(.,'\''stale'\'')))]' -v . -n
will output an extra empty line which does not show on xmlstarlet
1.5.0 (which is on Ubuntu trusty and Fedora 20).
Signed-off-by: Loic Dachary <ldachary@redhat.com>
The collection attrs are often version specific. We should compare the
semantic PG metadata, if anything, not these!
Signed-off-by: Sage Weil <sage@redhat.com>
We could conceivably mark the PG for backfill, but to do this correctly
we have to do the log rollback, which uses various methods in PG to update
snap metadata that we simply don't have access to from this tool.
Signed-off-by: Sage Weil <sage@redhat.com>
Move all PG metadata (info, biginfo, epoch, and log) to a single per-PG
object. This should make it easier for ObjectStore implementations to
avoid lock contention in the write path.
Signed-off-by: Sage Weil <sage@redhat.com>
This way we properly create the pgmeta object and set the infokey attr on
it. Break it into two steps, one part before split, one after.
Disable the collection_empty() check in split so that it doesn't trip over
this object.
Signed-off-by: Sage Weil <sage@redhat.com>
There will be exactly one of these per PG. It slots into the flat
(pool, hash, name...)
namespace but is not a legal rados name (since it is the empty string).
Signed-off-by: Sage Weil <sage@redhat.com>
From FileStore's perspective, nothing changed from v3 to v4. However, we
need to pass the do_upgrade flag to DBOjectMap open to trigger it's
upgrade process.
Signed-off-by: Sage Weil <sage@redhat.com>
This ensures that we exercise the large xattr handling paths in the OSD.
(Specifically, we want to trigger DBObjectMap usage on EC objects so that
we can test the fix for #10171).
Signed-off-by: Sage Weil <sage@redhat.com>
We were inadvertantly dropping the hash portion of the header key for EC
objects. This is usually not noticeable, but turns up quite quickly with
the new pgmeta objects, which share the same name ('') across PGs with
different hash values
Fixes: #10171
Signed-off-by: Sage Weil <sage@redhat.com>
ReplicatedPG: Make recovery using fiemap and fix perf counter
sage-2014-12-16_08:43:28-powercycle-wip-sage-testing-distro
Reviewed-by: Sage Weil <sage@redhat.com>
Adding this at this time to give us a sensible place
to talk about the epoch barrier stuff. The eviction
stuff will probably get simplified once we add a mon-side
eviction command that handles blacklisting and MDS session
eviction in one go.
Signed-off-by: John Spray <john.spray@redhat.com>
Ensure that all calls to _flush get an explicit
context (rather than implicit PutInode used
before), which tags any error onto the Inode object.
Later, read the error from the Inode object in _release_fh
and ensure all callers of _release_fh properly handle
its return code.
Signed-off-by: John Spray <john.spray@redhat.com>