diff --git a/pbs-datastore/src/catalog.rs b/pbs-datastore/src/catalog.rs index 6cb8aeb4..c07b71a6 100644 --- a/pbs-datastore/src/catalog.rs +++ b/pbs-datastore/src/catalog.rs @@ -706,11 +706,10 @@ impl CatalogReader { components.push(b'/'); components.extend(&direntry.name); let mut entry = ArchiveEntry::new(&components, Some(&direntry.attr)); - - if let DirEntryAttribute::Directory { start: _ } = direntry.attr { - entry.size = Some(u64::try_from(self.read_dir(&direntry)?.len())?); + if let DirEntryAttribute::File { size, mtime } = direntry.attr { + entry.size = size.into(); + entry.mtime = mtime.into(); } - res.push(entry); } @@ -912,8 +911,7 @@ pub struct ArchiveEntry { pub entry_type: String, /// Is this entry a leaf node, or does it have children (i.e. a directory)? pub leaf: bool, - /// The file size, if entry_type is 'f' (file) or the amount of files in a - /// directory if entry_type is 'd' (directory) + /// The file size, if entry_type is 'f' (file) #[serde(skip_serializing_if = "Option::is_none")] pub size: Option, /// The file "last modified" time stamp, if entry_type is 'f' (file)