bcachefs: Move bch_sb_field_crypt code to checksum.c
authorKent Overstreet <kent.overstreet@linux.dev>
Sat, 5 Aug 2023 19:43:00 +0000 (15:43 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:10:10 +0000 (17:10 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/checksum.c
fs/bcachefs/checksum.h
fs/bcachefs/super-io.c

index 76cf2e70f0190ec155afd94ff0bbab3b72589893..36939020f67d11e2d291c1195ecd2163b1e87e49 100644 (file)
@@ -460,6 +460,48 @@ int bch2_rechecksum_bio(struct bch_fs *c, struct bio *bio,
        return 0;
 }
 
+/* BCH_SB_FIELD_crypt: */
+
+static int bch2_sb_crypt_validate(struct bch_sb *sb,
+                                 struct bch_sb_field *f,
+                                 struct printbuf *err)
+{
+       struct bch_sb_field_crypt *crypt = field_to_type(f, crypt);
+
+       if (vstruct_bytes(&crypt->field) < sizeof(*crypt)) {
+               prt_printf(err, "wrong size (got %zu should be %zu)",
+                      vstruct_bytes(&crypt->field), sizeof(*crypt));
+               return -BCH_ERR_invalid_sb_crypt;
+       }
+
+       if (BCH_CRYPT_KDF_TYPE(crypt)) {
+               prt_printf(err, "bad kdf type %llu", BCH_CRYPT_KDF_TYPE(crypt));
+               return -BCH_ERR_invalid_sb_crypt;
+       }
+
+       return 0;
+}
+
+static void bch2_sb_crypt_to_text(struct printbuf *out, struct bch_sb *sb,
+                                 struct bch_sb_field *f)
+{
+       struct bch_sb_field_crypt *crypt = field_to_type(f, crypt);
+
+       prt_printf(out, "KFD:               %llu", BCH_CRYPT_KDF_TYPE(crypt));
+       prt_newline(out);
+       prt_printf(out, "scrypt n:          %llu", BCH_KDF_SCRYPT_N(crypt));
+       prt_newline(out);
+       prt_printf(out, "scrypt r:          %llu", BCH_KDF_SCRYPT_R(crypt));
+       prt_newline(out);
+       prt_printf(out, "scrypt p:          %llu", BCH_KDF_SCRYPT_P(crypt));
+       prt_newline(out);
+}
+
+const struct bch_sb_field_ops bch_sb_field_ops_crypt = {
+       .validate       = bch2_sb_crypt_validate,
+       .to_text        = bch2_sb_crypt_to_text,
+};
+
 #ifdef __KERNEL__
 static int __bch2_request_key(char *key_description, struct bch_key *key)
 {
index 1ad1d5f03939ce12e3d7469f64db634450ba9f2c..c7b1a8fca6850dd91e1ed4432683246d5dbc2fa8 100644 (file)
@@ -72,6 +72,8 @@ static inline int bch2_encrypt_bio(struct bch_fs *c, unsigned type,
                : 0;
 }
 
+extern const struct bch_sb_field_ops bch_sb_field_ops_crypt;
+
 int bch2_decrypt_sb_key(struct bch_fs *, struct bch_sb_field_crypt *,
                        struct bch_key *);
 
index bea922e720a28985822bf123158fd8da3dd98deb..ff86088022fc40f73298fd0b432721feedb6ff80 100644 (file)
@@ -1016,48 +1016,6 @@ void __bch2_check_set_feature(struct bch_fs *c, unsigned feat)
        mutex_unlock(&c->sb_lock);
 }
 
-/* BCH_SB_FIELD_crypt: */
-
-static int bch2_sb_crypt_validate(struct bch_sb *sb,
-                                 struct bch_sb_field *f,
-                                 struct printbuf *err)
-{
-       struct bch_sb_field_crypt *crypt = field_to_type(f, crypt);
-
-       if (vstruct_bytes(&crypt->field) < sizeof(*crypt)) {
-               prt_printf(err, "wrong size (got %zu should be %zu)",
-                      vstruct_bytes(&crypt->field), sizeof(*crypt));
-               return -BCH_ERR_invalid_sb_crypt;
-       }
-
-       if (BCH_CRYPT_KDF_TYPE(crypt)) {
-               prt_printf(err, "bad kdf type %llu", BCH_CRYPT_KDF_TYPE(crypt));
-               return -BCH_ERR_invalid_sb_crypt;
-       }
-
-       return 0;
-}
-
-static void bch2_sb_crypt_to_text(struct printbuf *out, struct bch_sb *sb,
-                                 struct bch_sb_field *f)
-{
-       struct bch_sb_field_crypt *crypt = field_to_type(f, crypt);
-
-       prt_printf(out, "KFD:               %llu", BCH_CRYPT_KDF_TYPE(crypt));
-       prt_newline(out);
-       prt_printf(out, "scrypt n:          %llu", BCH_KDF_SCRYPT_N(crypt));
-       prt_newline(out);
-       prt_printf(out, "scrypt r:          %llu", BCH_KDF_SCRYPT_R(crypt));
-       prt_newline(out);
-       prt_printf(out, "scrypt p:          %llu", BCH_KDF_SCRYPT_P(crypt));
-       prt_newline(out);
-}
-
-static const struct bch_sb_field_ops bch_sb_field_ops_crypt = {
-       .validate       = bch2_sb_crypt_validate,
-       .to_text        = bch2_sb_crypt_to_text,
-};
-
 /* BCH_SB_FIELD_clean: */
 
 int bch2_sb_clean_validate_late(struct bch_fs *c, struct bch_sb_field_clean *clean, int write)