merge-diff and status commands, --image-features and --image-shared
options, other stuff.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 356a749f63)
Instead of setting the HEAD image flag to indicate an invalid
object map, set the flag for the specific snapshot that is
invalid.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
It's possible for an object map to be invalid only for
a snapshot, so allow snapshot flags to be updated. This
will also be required when rebuilding the object map and
clearing the invalid flag.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
For the case where multiple resize requests were pending,
queued resizes should use the most recent value for the
current image size -- not the image size when the resize
was queued.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
If the object map is too large for the current image, it implies
that a resize operation was interrupted. It should only be
considered invalid if the object map is smaller than the image,
which shouldn't be possible.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
During a resize, reduce the possibility that the object map
and the header will get out-of-sync during a resize operation
that is canceled.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Update the in-memory image metadata for size and parent
overlap after updating the on-disk image metadata. Also
schedule an image refresh in case multiple resizes are
enqueued -- since ictx_refresh isn't async.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
If a shrink operation is in progress, all operations should use
the new size and new parent overlap for IO operations.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
When proxying resize/flatten requests, the current image
R/W state is not validated. Also ensure the proper locks
are held when reading image metadata.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
The zlib1g-dev is installed indirectly for Ubuntu 12.04 or Ubuntu 14.04
but it is only suggested in Debian/jessie. Adding it to the
Build-depends is redundant and harmless for Ubuntu and resolves the
missing dependency for Debian.
http://tracker.ceph.com/issues/11068Fixes: #11068
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Suppose we have min_size of 2 and size of 3, foo exists only on the
primary.
- block op 1 on foo due to < min_size
- start recovery on foo for replicas 1 and 2
- complete push to replica 1 (2 copies now)
- allow op 2 on foo through since we have 2 copies
- complete recovery on foo, requeue op 1
Fixes: 11057
Signed-off-by: Samuel Just <sjust@redhat.com>
The str_p("straw2") won't parse straw2, it seems because the digit is throwing
it off. Use the existing name rule instead which is more robust. Note that
not constraining the alg value here is better anyway because instead of a
'cannot parse' error that is hard to debug we instead get a 'unknown alg foo'
error when doing the semantic pass.
Fixes: #11015
Signed-off-by: Sage Weil <sage@redhat.com>
Go into non interactive mode when installing the compilation
dependencies, in case a package has a different default mode.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Alternatives were introduced lately and the | needs to be stripped from
the list of packages to install otherwise apt-get will try to install
all packages.
Signed-off-by: Yann Dupont <yann@objoo.org>