rem: puts("add partitions"); add_partitions_for(fd);
add: char name[B_FILE_NAME_LENGTH]; if (device->GetName(name, sizeof(name)) == B_OK) printf("add partitions for \"%s\"\n", name);   status_t status = add_partitions_for(fd); if (status < B_OK) printf("add_partitions_for(%d) failed: %s\n", fd, strerror(status));
context: mount_boot_file_systems(){	list_init_etc(&gPartitions, Partition::LinkOffset());	gRoot = new RootFileSystem();	if (gRoot == NULL)		return B_NO_MEMORY;	Node *device = NULL;	while ((device = (Node *)list_get_next_item(&gBootDevices, (void *)device)) != NULL) {		int fd = open_node(device, O_RDONLY);		if (fd < B_OK)			continue;		puts("add partitions");		add_partitions_for(fd);		close(fd);	}	if (list_is_empty(&gPartitions))		return B_ENTRY_NOT_FOUND;	return B_OK;}