diff --git a/tests/src/parallel_restore.c b/tests/src/parallel_restore.c index 3036bea9..a9f99350 100644 --- a/tests/src/parallel_restore.c +++ b/tests/src/parallel_restore.c @@ -170,6 +170,8 @@ static struct gen_inode *generate_inode(struct opts *opts, u64 ino, mode_t mode) gino->inode = (struct scoutfs_parallel_restore_inode) { .ino = ino, + .meta_seq = ino, + .data_seq = 0, .mode = mode, .atime = now, .ctime = now, diff --git a/utils/src/parallel_restore.c b/utils/src/parallel_restore.c index 813a7e8b..b7165dd4 100644 --- a/utils/src/parallel_restore.c +++ b/utils/src/parallel_restore.c @@ -804,8 +804,8 @@ static spr_err_t insert_inode_items(struct scoutfs_parallel_restore_writer *wri, si = bti->val; si->size = 0; - si->meta_seq = cpu_to_le64(inode->ino); - si->data_seq = 0; + si->meta_seq = cpu_to_le64(inode->meta_seq); + si->data_seq = cpu_to_le64(inode->data_seq); si->data_version = 0; si->online_blocks = 0; si->offline_blocks = 0; @@ -835,7 +835,6 @@ static spr_err_t insert_inode_items(struct scoutfs_parallel_restore_writer *wri, if (S_ISREG(inode->mode)) { si->size = cpu_to_le64(inode->size); si->data_version = cpu_to_le64(inode->data_version); - si->data_seq = cpu_to_le64(inode->ino); err = insert_inode_index_item(wri, SCOUTFS_INODE_INDEX_DATA_SEQ_TYPE, le64_to_cpu(si->data_seq), inode->ino); diff --git a/utils/src/parallel_restore.h b/utils/src/parallel_restore.h index 3030aa98..075c71ae 100644 --- a/utils/src/parallel_restore.h +++ b/utils/src/parallel_restore.h @@ -39,6 +39,8 @@ struct scoutfs_parallel_restore_xattr { struct scoutfs_parallel_restore_inode { /* all inodes */ u64 ino; + u64 meta_seq; + u64 data_seq; u64 nr_xattrs; u32 uid; u32 gid;