]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
bcachefs: bch2_d_types[]
authorKent Overstreet <kent.overstreet@gmail.com>
Tue, 6 Jul 2021 02:18:07 +0000 (22:18 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:08 +0000 (17:09 -0400)
Add readable names for d_type, and use it in dirent_to_text().

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
fs/bcachefs/dirent.c
fs/bcachefs/opts.c
fs/bcachefs/opts.h

index 3bf6379cefe664b77f3d6ce16de28243ec44f974..d5883ab7de21d899df1a28ea591d4ecbd8df78e9 100644 (file)
@@ -112,7 +112,7 @@ void bch2_dirent_to_text(struct printbuf *out, struct bch_fs *c,
 
        bch_scnmemcpy(out, d.v->d_name,
                      bch2_dirent_name_bytes(d));
-       pr_buf(out, " -> %llu type %u", d.v->d_inum, d.v->d_type);
+       pr_buf(out, " -> %llu type %s", d.v->d_inum, bch2_d_types[d.v->d_type]);
 }
 
 static struct bkey_i_dirent *dirent_create_key(struct btree_trans *trans,
index 64bf5a382d63574da713321185f626a413c7932f..fd3f7cddb9abb24cf8f1e15b9b8b369f83f8062f 100644 (file)
@@ -63,6 +63,18 @@ const char * const bch2_member_states[] = {
 
 #undef x
 
+const char * const bch2_d_types[] = {
+       [DT_UNKNOWN]    = "unknown",
+       [DT_FIFO]       = "fifo",
+       [DT_CHR]        = "chr",
+       [DT_DIR]        = "dir",
+       [DT_BLK]        = "blk",
+       [DT_REG]        = "reg",
+       [DT_LNK]        = "lnk",
+       [DT_SOCK]       = "sock",
+       [DT_WHT]        = "whiteout",
+};
+
 void bch2_opts_apply(struct bch_opts *dst, struct bch_opts src)
 {
 #define x(_name, ...)                                          \
index 074ab2d4f0faf35908f796e7d445e59c6c9ab6bb..707659e31893aec47c34ed92a364ca1365f321c8 100644 (file)
@@ -18,6 +18,7 @@ extern const char * const bch2_str_hash_types[];
 extern const char * const bch2_data_types[];
 extern const char * const bch2_cache_replacement_policies[];
 extern const char * const bch2_member_states[];
+extern const char * const bch2_d_types[];
 
 /*
  * Mount options; we also store defaults in the superblock.