This was croaking on sparse images.
Use an image ctx for the dest.
We should probably use read_iterate instead.
Signed-off-by: Sage Weil <sage@newdream.net>
We've been setting flags at the beginning of path_traverse
for a while; use those instead of ongoing comparisons.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Previously, we were asserting (farther down) if the dentry was
null but blocked by a lock. Instead, we should here be waiting
until it's readable instead of just continuing on.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
By specifying via an image handle we can set the snapshot on the src
image. This also makes the API cleaner.
Fixes: #1416
Signed-off-by: Sage Weil <sage@newdream.net>
We end up needing _GNU_SOURCE in a bunch of places-- to get direct i/o,
pipe2, and some other Linux-specific interfaces.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
This ensures that the stray dirfrags are always open, which in turn ensures
that whenever we add straydn items the rstats/fragstats will get updated
properly. This is a better solution than d3d767a.
Now we can assert the stray dirfrag is open in
get_or_create_stray_dentry() instead of calling get_or_open_dirfrag().
Signed-off-by: Sage Weil <sage@newdream.net>
Previously, reset_last_warm_restart was only invoked when handle_create
was used. This misses cases where the pg is initialized via a Notify,
Log, or Info message. reset_last_warm_restart will now be called from
the Initial state exit handler in order to handle the other cases.
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Previously, reset_last_warm_restart was only invoked when handle_create
was used. This misses cases where the pg is initialized via a Notify,
Log, or Info message. reset_last_warm_restart will now be called from
the Initial state exit handler in order to handle the other cases.
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Make sure previous writes (which will include both object creation and
PG creation) are flushed before listing objects.
Fixes: #1427
Signed-off-by: Sage Weil <sage@newdream.net>
This way they can run via teuthology.
We should do this for anything that we expect to run outside of the
immediate build environment.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
You need to
make project.tgz
make submit-coverity
and have .coverity.build.pass with the right password in CWD
(ceph.git/src).
The submit-coverity rule doesn't do the project.tgz for you because it
always cleans+rebuilds every time.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>