X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/af8e873ae38b72a56a89485c62bb5ccd22a9f8a7..e6dbd781772925dfc07b2facfa0a1350e756ad8f:/lunaix-os/kernel/fs/twifs/twifs.c diff --git a/lunaix-os/kernel/fs/twifs/twifs.c b/lunaix-os/kernel/fs/twifs/twifs.c index ec2707f..6efc833 100644 --- a/lunaix-os/kernel/fs/twifs/twifs.c +++ b/lunaix-os/kernel/fs/twifs/twifs.c @@ -19,6 +19,8 @@ static struct twifs_node* fs_root; static struct cake_pile* twi_pile; +static volatile int32_t inode_id = 0; + int __twifs_dirlookup(struct v_inode* inode, struct v_dnode* dnode); @@ -165,13 +167,14 @@ struct v_inode* __twifs_create_inode(struct twifs_node* twi_node) { struct v_inode* inode = vfs_i_alloc(); - *inode = (struct v_inode){ .ctime = 0, - .itype = twi_node->itype, - .lb_addr = 0, - .lb_usage = 0, - .data = twi_node, - .mtime = 0, - .open_count = 0 }; + inode->itype = twi_node->itype; + inode->data = twi_node; + + inode->id = inode_id++; + inode->ctime = clock_unixtime(); + inode->atime = inode->ctime; + inode->mtime = inode->ctime; + inode->ops.dir_lookup = __twifs_dirlookup; inode->ops.mkdir = __twifs_mkdir; inode->ops.unlink = __twifs_rmstuff;