mirror of
https://github.com/versity/scoutfs.git
synced 2026-01-07 12:35:28 +00:00
scoutfs-utils: print key zone and type numerically
The kernel has long sinced moved away from symbolic printing of key cones and types, and it just removed the MAX values from the format header. Let's follow suit and get rid of the zone and type strings. Signed-off-by: Zach Brown <zab@versity.com>
This commit is contained in:
@@ -348,7 +348,6 @@ struct scoutfs_bloom_block {
|
||||
#define SCOUTFS_RID_ZONE 3
|
||||
#define SCOUTFS_FS_ZONE 4
|
||||
#define SCOUTFS_LOCK_ZONE 5
|
||||
#define SCOUTFS_MAX_ZONE 8 /* power of 2 is efficient */
|
||||
|
||||
/* inode index zone */
|
||||
#define SCOUTFS_INODE_INDEX_META_SEQ_TYPE 1
|
||||
@@ -373,9 +372,6 @@ struct scoutfs_bloom_block {
|
||||
/* lock zone, only ever found in lock ranges, never in persistent items */
|
||||
#define SCOUTFS_RENAME_TYPE 1
|
||||
|
||||
#define SCOUTFS_MAX_TYPE 8 /* power of 2 is efficient */
|
||||
|
||||
|
||||
/*
|
||||
* The extents that map blocks in a fixed-size logical region of a file
|
||||
* are packed and stored in item values. The packed extents are
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2018 Versity Software, Inc. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
* License v2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include "sparse.h"
|
||||
#include "util.h"
|
||||
#include "format.h"
|
||||
#include "key.h"
|
||||
|
||||
char *scoutfs_zone_strings[SCOUTFS_MAX_ZONE] = {
|
||||
[SCOUTFS_INODE_INDEX_ZONE] = "ind",
|
||||
[SCOUTFS_XATTR_INDEX_ZONE] = "xnd",
|
||||
[SCOUTFS_RID_ZONE] = "rid",
|
||||
[SCOUTFS_FS_ZONE] = "fs",
|
||||
};
|
||||
|
||||
char *scoutfs_type_strings[SCOUTFS_MAX_ZONE][SCOUTFS_MAX_TYPE] = {
|
||||
[SCOUTFS_INODE_INDEX_ZONE][SCOUTFS_INODE_INDEX_META_SEQ_TYPE] = "msq",
|
||||
[SCOUTFS_INODE_INDEX_ZONE][SCOUTFS_INODE_INDEX_DATA_SEQ_TYPE] = "dsq",
|
||||
[SCOUTFS_XATTR_INDEX_ZONE][SCOUTFS_XATTR_INDEX_NAME_TYPE] = "nam",
|
||||
[SCOUTFS_RID_ZONE][SCOUTFS_ORPHAN_TYPE] = "orp",
|
||||
[SCOUTFS_FS_ZONE][SCOUTFS_INODE_TYPE] = "ino",
|
||||
[SCOUTFS_FS_ZONE][SCOUTFS_XATTR_TYPE] = "xat",
|
||||
[SCOUTFS_FS_ZONE][SCOUTFS_DIRENT_TYPE] = "dnt",
|
||||
[SCOUTFS_FS_ZONE][SCOUTFS_READDIR_TYPE] = "rdr",
|
||||
[SCOUTFS_FS_ZONE][SCOUTFS_LINK_BACKREF_TYPE] = "lbr",
|
||||
[SCOUTFS_FS_ZONE][SCOUTFS_SYMLINK_TYPE] = "sym",
|
||||
[SCOUTFS_FS_ZONE][SCOUTFS_PACKED_EXTENT_TYPE] = "pex",
|
||||
};
|
||||
|
||||
char scoutfs_unknown_u8_strings[U8_MAX][U8_STR_MAX];
|
||||
|
||||
static void __attribute__((constructor)) scoutfs_key_init(void)
|
||||
{
|
||||
int ret;
|
||||
int i;
|
||||
|
||||
for (i = 0; i <= U8_MAX; i++) {
|
||||
ret = snprintf(scoutfs_unknown_u8_strings[i], U8_STR_MAX,
|
||||
"u%u", i);
|
||||
assert(ret > 0 && ret < U8_STR_MAX);
|
||||
}
|
||||
}
|
||||
@@ -7,34 +7,10 @@
|
||||
#include "cmp.h"
|
||||
#include "endian_swap.h"
|
||||
|
||||
extern char *scoutfs_zone_strings[SCOUTFS_MAX_ZONE];
|
||||
extern char *scoutfs_type_strings[SCOUTFS_MAX_ZONE][SCOUTFS_MAX_TYPE];
|
||||
#define U8_STR_MAX 5 /* u%3u'\0' */
|
||||
extern char scoutfs_unknown_u8_strings[U8_MAX][U8_STR_MAX];
|
||||
|
||||
static inline char *sk_zone_str(u8 zone)
|
||||
{
|
||||
if (zone >= SCOUTFS_MAX_ZONE || scoutfs_zone_strings[zone] == NULL)
|
||||
return scoutfs_unknown_u8_strings[zone];
|
||||
|
||||
return scoutfs_zone_strings[zone];
|
||||
}
|
||||
|
||||
static inline char *sk_type_str(u8 zone, u8 type)
|
||||
{
|
||||
if (zone >= SCOUTFS_MAX_ZONE || type >= SCOUTFS_MAX_TYPE ||
|
||||
scoutfs_type_strings[zone][type] == NULL)
|
||||
return scoutfs_unknown_u8_strings[type];
|
||||
|
||||
return scoutfs_type_strings[zone][type];
|
||||
}
|
||||
|
||||
#define SK_FMT "%s.%llu.%s.%llu.%llu.%u"
|
||||
#define SK_FMT "%u.%llu.%u.%llu.%llu.%u"
|
||||
/* This does not support null keys */
|
||||
#define SK_ARG(key) sk_zone_str((key)->sk_zone), \
|
||||
le64_to_cpu((key)->_sk_first), \
|
||||
sk_type_str((key)->sk_zone, (key)->sk_type), \
|
||||
le64_to_cpu((key)->_sk_second), \
|
||||
#define SK_ARG(key) (key)->sk_zone, le64_to_cpu((key)->_sk_first), \
|
||||
(key)->sk_type, le64_to_cpu((key)->_sk_second), \
|
||||
le64_to_cpu((key)->_sk_third), \
|
||||
(key)->_sk_fourth
|
||||
|
||||
|
||||
Reference in New Issue
Block a user