- // 预备一些常用的类别
- twifs_toplevel_node("kernel", 6);
- twifs_toplevel_node("dev", 3);
- twifs_toplevel_node("bus", 3);
+ node->name = HSTR(name, name_len);
+ hstr_rehash(&node->name, HSTR_FULL_HASH);
+ llist_init_head(&node->children);
+
+ if (parent) {
+ llist_append(&parent->children, &node->siblings);
+ }
+
+ return node;
+}
+
+int
+twifs_rm_node(struct twifs_node* node)
+{
+ if ((node->itype & VFS_INODE_TYPE_DIR) && !llist_empty(&node->children)) {
+ return ENOTEMPTY;
+ }
+ llist_delete(&node->siblings);
+ vfs_i_free(node->inode);
+ cake_release(twi_pile, node);
+ return 0;