Merge git://git.denx.de/u-boot-sunxi
[oweals/u-boot.git] / fs / ubifs / sb.c
index 4983bf62897f116b1691fdcd4bcb2a6bd33db83d..52db611d1c7bf60301b8fb743f8672518c4c711a 100644 (file)
@@ -1,10 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * This file is part of UBIFS.
  *
  * Copyright (C) 2006-2008 Nokia Corporation.
  *
- * SPDX-License-Identifier:    GPL-2.0+
- *
  * Authors: Artem Bityutskiy (Битюцкий Артём)
  *          Adrian Hunter
  */
@@ -330,8 +329,10 @@ static int create_default_filesystem(struct ubifs_info *c)
        cs->ch.node_type = UBIFS_CS_NODE;
        err = ubifs_write_node(c, cs, UBIFS_CS_NODE_SZ, UBIFS_LOG_LNUM, 0);
        kfree(cs);
+       if (err)
+               return err;
 
-       ubifs_msg("default file-system created");
+       ubifs_msg(c, "default file-system created");
        return 0;
 }
 #endif
@@ -362,13 +363,13 @@ static int validate_sb(struct ubifs_info *c, struct ubifs_sb_node *sup)
        }
 
        if (le32_to_cpu(sup->min_io_size) != c->min_io_size) {
-               ubifs_err("min. I/O unit mismatch: %d in superblock, %d real",
+               ubifs_err(c, "min. I/O unit mismatch: %d in superblock, %d real",
                          le32_to_cpu(sup->min_io_size), c->min_io_size);
                goto failed;
        }
 
        if (le32_to_cpu(sup->leb_size) != c->leb_size) {
-               ubifs_err("LEB size mismatch: %d in superblock, %d real",
+               ubifs_err(c, "LEB size mismatch: %d in superblock, %d real",
                          le32_to_cpu(sup->leb_size), c->leb_size);
                goto failed;
        }
@@ -390,33 +391,33 @@ static int validate_sb(struct ubifs_info *c, struct ubifs_sb_node *sup)
        min_leb_cnt += c->lpt_lebs + c->orph_lebs + c->jhead_cnt + 6;
 
        if (c->leb_cnt < min_leb_cnt || c->leb_cnt > c->vi.size) {
-               ubifs_err("bad LEB count: %d in superblock, %d on UBI volume, %d minimum required",
+               ubifs_err(c, "bad LEB count: %d in superblock, %d on UBI volume, %d minimum required",
                          c->leb_cnt, c->vi.size, min_leb_cnt);
                goto failed;
        }
 
        if (c->max_leb_cnt < c->leb_cnt) {
-               ubifs_err("max. LEB count %d less than LEB count %d",
+               ubifs_err(c, "max. LEB count %d less than LEB count %d",
                          c->max_leb_cnt, c->leb_cnt);
                goto failed;
        }
 
        if (c->main_lebs < UBIFS_MIN_MAIN_LEBS) {
-               ubifs_err("too few main LEBs count %d, must be at least %d",
+               ubifs_err(c, "too few main LEBs count %d, must be at least %d",
                          c->main_lebs, UBIFS_MIN_MAIN_LEBS);
                goto failed;
        }
 
        max_bytes = (long long)c->leb_size * UBIFS_MIN_BUD_LEBS;
        if (c->max_bud_bytes < max_bytes) {
-               ubifs_err("too small journal (%lld bytes), must be at least %lld bytes",
+               ubifs_err(c, "too small journal (%lld bytes), must be at least %lld bytes",
                          c->max_bud_bytes, max_bytes);
                goto failed;
        }
 
        max_bytes = (long long)c->leb_size * c->main_lebs;
        if (c->max_bud_bytes > max_bytes) {
-               ubifs_err("too large journal size (%lld bytes), only %lld bytes available in the main area",
+               ubifs_err(c, "too large journal size (%lld bytes), only %lld bytes available in the main area",
                          c->max_bud_bytes, max_bytes);
                goto failed;
        }
@@ -446,7 +447,7 @@ static int validate_sb(struct ubifs_info *c, struct ubifs_sb_node *sup)
                goto failed;
        }
 
-       if (c->default_compr < 0 || c->default_compr >= UBIFS_COMPR_TYPES_CNT) {
+       if (c->default_compr >= UBIFS_COMPR_TYPES_CNT) {
                err = 13;
                goto failed;
        }
@@ -465,7 +466,7 @@ static int validate_sb(struct ubifs_info *c, struct ubifs_sb_node *sup)
        return 0;
 
 failed:
-       ubifs_err("bad superblock, error %d", err);
+       ubifs_err(c, "bad superblock, error %d", err);
        ubifs_dump_node(c, sup);
        return -EINVAL;
 }
@@ -551,12 +552,12 @@ int ubifs_read_superblock(struct ubifs_info *c)
                ubifs_assert(!c->ro_media || c->ro_mount);
                if (!c->ro_mount ||
                    c->ro_compat_version > UBIFS_RO_COMPAT_VERSION) {
-                       ubifs_err("on-flash format version is w%d/r%d, but software only supports up to version w%d/r%d",
+                       ubifs_err(c, "on-flash format version is w%d/r%d, but software only supports up to version w%d/r%d",
                                  c->fmt_version, c->ro_compat_version,
                                  UBIFS_FORMAT_VERSION,
                                  UBIFS_RO_COMPAT_VERSION);
                        if (c->ro_compat_version <= UBIFS_RO_COMPAT_VERSION) {
-                               ubifs_msg("only R/O mounting is possible");
+                               ubifs_msg(c, "only R/O mounting is possible");
                                err = -EROFS;
                        } else
                                err = -EINVAL;
@@ -572,7 +573,7 @@ int ubifs_read_superblock(struct ubifs_info *c)
        }
 
        if (c->fmt_version < 3) {
-               ubifs_err("on-flash format version %d is not supported",
+               ubifs_err(c, "on-flash format version %d is not supported",
                          c->fmt_version);
                err = -EINVAL;
                goto out;
@@ -597,7 +598,7 @@ int ubifs_read_superblock(struct ubifs_info *c)
                c->key_len = UBIFS_SK_LEN;
                break;
        default:
-               ubifs_err("unsupported key format");
+               ubifs_err(c, "unsupported key format");
                err = -EINVAL;
                goto out;
        }
@@ -794,7 +795,7 @@ int ubifs_fixup_free_space(struct ubifs_info *c)
        ubifs_assert(c->space_fixup);
        ubifs_assert(!c->ro_mount);
 
-       ubifs_msg("start fixing up free space");
+       ubifs_msg(c, "start fixing up free space");
 
        err = fixup_free_space(c);
        if (err)
@@ -813,6 +814,6 @@ int ubifs_fixup_free_space(struct ubifs_info *c)
        if (err)
                return err;
 
-       ubifs_msg("free space fixup complete");
+       ubifs_msg(c, "free space fixup complete");
        return err;
 }