static status_t checksumfs_read_stat(fs_volume* fsVolume, fs_vnode* vnode, struct stat* st) { Node* node = (Node*)vnode->private_node; st->st_mode = node->Mode(); st->st_nlink = node->HardLinks(); st->st_uid = node->UID(); st->st_gid = node->GID(); st->st_size = node->Size(); st->st_blksize = B_PAGE_SIZE * 16; // random number set_timespec(st->st_mtim, node->ModificationTime()); set_timespec(st->st_ctim, node->ChangeTime()); set_timespec(st->st_crtim, node->CreationTime()); st->st_atim = st->st_ctim; // we don't support access time st->st_type = 0; /* attribute/index type */ st->st_blocks = 1 + (st->st_size + B_PAGE_SIZE - 1) / B_PAGE_SIZE; // TODO: That does neither count management structures for the content // nor attributes. return B_OK; }