The use of 'size' to describe the amount that we overlap with the parent
was confusing; overlap is more intuitive (to me, at least!).
Signed-off-by: Sage Weil <sage@inktank.com>
Two things:
* when we set a parent, the overlap is the min of our size and the
parent's size.
* when we resize, our overlap may shrink.
Signed-off-by: Sage Weil <sage@inktank.com>
You need to set the feature on the image before you can use these methods.
We *could* allow get_parent, but that just means they'll get ENOENT instead
of ENOEXEC, and the latter is more informative.
Signed-off-by: Sage Weil <sage@inktank.com>
For operations that are done on the service (e.g., list buckets)
we need to log the user that did the operation, and not the bucket
owner.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
This spams stderr in an ugly way. Users should look at the logs.
In particular, filestore upgrades spam the console, which is unpleasant.
Signed-off-by: Sage Weil <sage@inktank.com>
07f853db39 is actually too conservative,
it suffices to find any info with a last_update of at least the least
last_update from the last period to go active. An info from a previous
interval is acceptable if the last interval never reported a commited
operation and thus still has the same last_update.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
- incremental seq each request
- set last to the last completed seq
- drop the now-redundant bool
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
If we are sending log updates to a client (ceph -w), and they are far
enough behind to drop behind first_committed, include a friendly message
in their stream but continue.
Drop useless return value from _create_sub_incremental(). Assert that we
can read the state file.
Signed-off-by: Sage Weil <sage@inktank.com>
We disregard incomplete infos during find_best_info, but we can't an
info with a last_epoch_started less that of the incomplete info.
This should avoid cases like #2462. In that case, it appears that
a peer with empty info/log was chosen as authoritative even though
there was a non-empty incomplete peer.
Signed-off-by: Samuel Just <sam.just@inktank.com>
On squeeze,
warning: cls_rbd.cc:534: cannot pass objects of non-POD type ‘struct snapid_t’ through ‘...’; call will abort at runtime
Signed-off-by: Sage Weil <sage@inktank.com>
Noticed because of failing i386 unit tests for long addrs; x86_64 passed
fine. Sigh. FTR, the failing address was
2001:0db8:85a3:0000:0000:8a2e:0370:7334
Sadly the full length addrs don't turn it up on x86_64, still, nor does
valgrind notice. But, this fixes it on i386.
Signed-off-by: Sage Weil <sage@inktank.com>