diff --git a/utils/src/format.h b/utils/src/format.h index 6c37816d..909c9894 100644 --- a/utils/src/format.h +++ b/utils/src/format.h @@ -243,14 +243,12 @@ struct scoutfs_segment_block { #define SCOUTFS_FS_ZONE 3 /* inode index zone */ -#define SCOUTFS_INODE_INDEX_CTIME_TYPE 1 -#define SCOUTFS_INODE_INDEX_MTIME_TYPE 2 #define SCOUTFS_INODE_INDEX_SIZE_TYPE 3 #define SCOUTFS_INODE_INDEX_META_SEQ_TYPE 4 #define SCOUTFS_INODE_INDEX_DATA_SEQ_TYPE 5 #define SCOUTFS_INODE_INDEX_NR \ - (SCOUTFS_INODE_INDEX_DATA_SEQ_TYPE - SCOUTFS_INODE_INDEX_CTIME_TYPE + 1) + (SCOUTFS_INODE_INDEX_DATA_SEQ_TYPE - SCOUTFS_INODE_INDEX_SIZE_TYPE + 1) /* node zone */ #define SCOUTFS_FREE_EXTENT_BLKNO_TYPE 11 diff --git a/utils/src/ioctl.h b/utils/src/ioctl.h index c1e7f6f9..e9a78db0 100644 --- a/utils/src/ioctl.h +++ b/utils/src/ioctl.h @@ -51,9 +51,7 @@ struct scoutfs_ioctl_walk_inodes { } __packed; enum { - SCOUTFS_IOC_WALK_INODES_CTIME = 0, - SCOUTFS_IOC_WALK_INODES_MTIME, - SCOUTFS_IOC_WALK_INODES_SIZE, + SCOUTFS_IOC_WALK_INODES_SIZE = 0, SCOUTFS_IOC_WALK_INODES_META_SEQ, SCOUTFS_IOC_WALK_INODES_DATA_SEQ, SCOUTFS_IOC_WALK_INODES_UNKNOWN, diff --git a/utils/src/key.c b/utils/src/key.c index 46bc1420..99730c75 100644 --- a/utils/src/key.c +++ b/utils/src/key.c @@ -34,8 +34,6 @@ int print_key(void *key_data, unsigned key_len) case SCOUTFS_INODE_INDEX_ZONE: { struct scoutfs_inode_index_key *ikey = key_data; static char *type_strings[] = { - [SCOUTFS_INODE_INDEX_CTIME_TYPE] = "ctm", - [SCOUTFS_INODE_INDEX_MTIME_TYPE] = "mtm", [SCOUTFS_INODE_INDEX_SIZE_TYPE] = "siz", [SCOUTFS_INODE_INDEX_META_SEQ_TYPE] = "msq", [SCOUTFS_INODE_INDEX_DATA_SEQ_TYPE] = "dsq", diff --git a/utils/src/mkfs.c b/utils/src/mkfs.c index 6182d199..943ffd8d 100644 --- a/utils/src/mkfs.c +++ b/utils/src/mkfs.c @@ -258,9 +258,9 @@ static int write_new_fs(char *path, int fd) mkey->level = 1; idx_key->zone = SCOUTFS_INODE_INDEX_ZONE; - idx_key->type = SCOUTFS_INODE_INDEX_CTIME_TYPE; - idx_key->major = cpu_to_be64(tv.tv_sec); - idx_key->minor = cpu_to_be32(tv.tv_usec * 1000); + idx_key->type = SCOUTFS_INODE_INDEX_SIZE_TYPE; + idx_key->major = 0; + idx_key->minor = 0; idx_key->ino = cpu_to_be64(SCOUTFS_ROOT_INO); mval->segno = cpu_to_le64(first_segno); @@ -285,7 +285,6 @@ static int write_new_fs(char *path, int fd) /* write seg with root inode */ sblk->segno = cpu_to_le64(first_segno); sblk->seq = cpu_to_le64(1); - sblk->nr_items = cpu_to_le32(5); prev_link = &sblk->skip_links[0]; item = (void *)(sblk + 1); @@ -293,30 +292,20 @@ static int write_new_fs(char *path, int fd) prev_link = &item->skip_links[0]; /* write the root inode index keys */ - for (i = SCOUTFS_INODE_INDEX_CTIME_TYPE; + for (i = SCOUTFS_INODE_INDEX_SIZE_TYPE; i <= SCOUTFS_INODE_INDEX_META_SEQ_TYPE; i++) { item->key_len = cpu_to_le16(sizeof(*idx_key)); item->val_len = 0; item->nr_links = 1; + le32_add_cpu(&sblk->nr_items, 1); idx_key = (void *)&item->skip_links[1]; idx_key->zone = SCOUTFS_INODE_INDEX_ZONE; idx_key->type = i; idx_key->ino = cpu_to_be64(SCOUTFS_ROOT_INO); - - switch(i) { - case SCOUTFS_INODE_INDEX_CTIME_TYPE: - case SCOUTFS_INODE_INDEX_MTIME_TYPE: - idx_key->major = cpu_to_be64(tv.tv_sec); - idx_key->minor = cpu_to_be32(tv.tv_usec * 1000); - break; - default: - idx_key->major = cpu_to_be64(0); - idx_key->minor = 0; - break; - } - + idx_key->major = 0; + idx_key->minor = 0; item = (void *)(idx_key + 1); *prev_link = cpu_to_le32((long)item -(long)sblk); @@ -331,6 +320,7 @@ static int write_new_fs(char *path, int fd) item->key_len = cpu_to_le16(sizeof(struct scoutfs_inode_key)); item->val_len = cpu_to_le16(sizeof(struct scoutfs_inode)); item->nr_links = 1; + le32_add_cpu(&sblk->nr_items, 1); ikey->zone = SCOUTFS_FS_ZONE; ikey->ino = cpu_to_be64(SCOUTFS_ROOT_INO); diff --git a/utils/src/print.c b/utils/src/print.c index 3b3b4367..08be009b 100644 --- a/utils/src/print.c +++ b/utils/src/print.c @@ -248,7 +248,7 @@ typedef void (*print_func_t)(void *key, int key_len, void *val, int val_len); static print_func_t find_printer(u8 zone, u8 type) { if (zone == SCOUTFS_INODE_INDEX_ZONE && - type >= SCOUTFS_INODE_INDEX_CTIME_TYPE && + type >= SCOUTFS_INODE_INDEX_SIZE_TYPE && type <= SCOUTFS_INODE_INDEX_DATA_SEQ_TYPE) return print_inode_index; diff --git a/utils/src/walk_inodes.c b/utils/src/walk_inodes.c index 5d06c4cd..045b6976 100644 --- a/utils/src/walk_inodes.c +++ b/utils/src/walk_inodes.c @@ -82,10 +82,6 @@ static int walk_inodes_cmd(int argc, char **argv) if (!strcasecmp(argv[0], "size")) walk.index = SCOUTFS_IOC_WALK_INODES_SIZE; - else if (!strcasecmp(argv[0], "ctime")) - walk.index = SCOUTFS_IOC_WALK_INODES_CTIME; - else if (!strcasecmp(argv[0], "mtime")) - walk.index = SCOUTFS_IOC_WALK_INODES_MTIME; else if (!strcasecmp(argv[0], "meta_seq")) walk.index = SCOUTFS_IOC_WALK_INODES_META_SEQ; else if (!strcasecmp(argv[0], "data_seq"))