]> sourceware.org Git - lvm2.git/commitdiff
metadata: format_text: also count with calculated mda size of 0
authorPeter Rajnoha <prajnoha@redhat.com>
Fri, 30 Oct 2015 11:02:29 +0000 (12:02 +0100)
committerPeter Rajnoha <prajnoha@redhat.com>
Fri, 30 Oct 2015 11:02:34 +0000 (12:02 +0100)
When checking minimum mda size, make sure the mda_size after alignment
and calculation is more than 0 - if there's no place for an MDA at the
end of the disk, the _text_pv_add_metadata_area does not try to add it
there and it returns (because we already have the MDA at the start of
the disk at least).

lib/format_text/format-text.c

index 29e9bd2a71062e8bb91785534d09a2c03228d92a..d4f2c89fb70a2e673ace5cc05673587c3558a74e 100644 (file)
@@ -2241,13 +2241,13 @@ static int _text_pv_add_metadata_area(const struct format_type *fmt,
                                 FMTu64 ").", pv_dev_name(pv),
                                  mda_size, limit_name, limit);
 
-       if (mda_size < MDA_SIZE_MIN) {
-               log_error("Metadata area size too small. "
-                         "It must be at least %u bytes.", MDA_SIZE_MIN);
-               goto bad;
-       }
-
        if (mda_size) {
+               if (mda_size < MDA_SIZE_MIN) {
+                       log_error("Metadata area size too small: %" PRIu64" bytes. "
+                                 "It must be at least %u bytes.", mda_size, MDA_SIZE_MIN);
+                       goto bad;
+               }
+
                /* Wipe metadata area with zeroes. */
                if (!dev_set((struct device *) pv->dev, mda_start,
                        (size_t) ((mda_size > wipe_size) ?
This page took 0.037013 seconds and 5 git commands to generate.