rem: && ((v->stream.type == STREAM_TYPE_DIR && v->stream.u.dir.dir_head != NULL)
add: && ((v->stream.type == S_IFDIR && v->stream.u.dir.dir_head != NULL)
context: bootfs_delete_vnode(struct bootfs *fs, struct bootfs_vnode *v, bool force_delete){	// cant delete it if it's in a directory or is a directory	// and has children	if (!force_delete		&& ((v->stream.type == STREAM_TYPE_DIR && v->stream.u.dir.dir_head != NULL)			|| v->dir_next != NULL))		return EPERM;	// remove it from the global hash table	hash_remove(fs->vnode_list_hash, v);	if (v->name != NULL)		free(v->name);	free(v);	return 0;}