Lines Matching full:node

29 /* Root node for synth file system */
48 V9fsSynthNode *node; in v9fs_add_dir_node() local
52 node = g_new0(V9fsSynthNode, 1); in v9fs_add_dir_node()
55 node->attr = attr; in v9fs_add_dir_node()
56 node->attr->nlink++; in v9fs_add_dir_node()
58 node->attr = &node->actual_attr; in v9fs_add_dir_node()
59 node->attr->inode = inode; in v9fs_add_dir_node()
60 node->attr->nlink = 1; in v9fs_add_dir_node()
62 node->attr->mode = mode; in v9fs_add_dir_node()
63 node->attr->write = NULL; in v9fs_add_dir_node()
64 node->attr->read = NULL; in v9fs_add_dir_node()
66 node->private = node; in v9fs_add_dir_node()
67 pstrcpy(node->name, sizeof(node->name), name); in v9fs_add_dir_node()
68 QLIST_INSERT_HEAD_RCU(&parent->child, node, sibling); in v9fs_add_dir_node()
69 return node; in v9fs_add_dir_node()
75 V9fsSynthNode *node, *tmp; in qemu_v9fs_synth_mkdir() local
93 node = v9fs_add_dir_node(parent, mode, name, NULL, ++synth_node_count); in qemu_v9fs_synth_mkdir()
94 v9fs_add_dir_node(node, parent->attr->mode, "..", in qemu_v9fs_synth_mkdir()
96 v9fs_add_dir_node(node, node->attr->mode, ".", in qemu_v9fs_synth_mkdir()
97 node->attr, node->attr->inode); in qemu_v9fs_synth_mkdir()
98 *result = node; in qemu_v9fs_synth_mkdir()
106 V9fsSynthNode *node, *tmp; in qemu_v9fs_synth_add_file() local
126 node = g_new0(V9fsSynthNode, 1); in qemu_v9fs_synth_add_file()
127 node->attr = &node->actual_attr; in qemu_v9fs_synth_add_file()
128 node->attr->inode = ++synth_node_count; in qemu_v9fs_synth_add_file()
129 node->attr->nlink = 1; in qemu_v9fs_synth_add_file()
130 node->attr->read = read; in qemu_v9fs_synth_add_file()
131 node->attr->write = write; in qemu_v9fs_synth_add_file()
132 node->attr->mode = mode; in qemu_v9fs_synth_add_file()
133 node->private = arg; in qemu_v9fs_synth_add_file()
134 pstrcpy(node->name, sizeof(node->name), name); in qemu_v9fs_synth_add_file()
135 QLIST_INSERT_HEAD_RCU(&parent->child, node, sibling); in qemu_v9fs_synth_add_file()
139 static void synth_fill_statbuf(V9fsSynthNode *node, struct stat *stbuf) in synth_fill_statbuf() argument
142 stbuf->st_ino = node->attr->inode; in synth_fill_statbuf()
143 stbuf->st_mode = node->attr->mode; in synth_fill_statbuf()
144 stbuf->st_nlink = node->attr->nlink; in synth_fill_statbuf()
159 V9fsSynthNode *node = *(V9fsSynthNode **)fs_path->data; in synth_lstat() local
161 synth_fill_statbuf(node, stbuf); in synth_lstat()
169 synth_fill_statbuf(synth_open->node, stbuf); in synth_fstat()
177 V9fsSynthNode *node = *(V9fsSynthNode **)fs_path->data; in synth_opendir() local
185 synth_open->node = node; in synth_opendir()
186 node->open_count++; in synth_opendir()
194 V9fsSynthNode *node = synth_open->node; in synth_closedir() local
196 node->open_count--; in synth_closedir()
219 static void synth_direntry(V9fsSynthNode *node, in synth_direntry() argument
222 size_t sz = strlen(node->name) + 1; in synth_direntry()
229 memcpy(entry->d_name, node->name, sz); in synth_direntry()
230 entry->d_ino = node->attr->inode; in synth_direntry()
242 V9fsSynthNode *node; in synth_get_dentry() local
245 QLIST_FOREACH(node, &dir->child, sibling) { in synth_get_dentry()
253 if (!node) { in synth_get_dentry()
257 synth_direntry(node, entry, off); in synth_get_dentry()
265 V9fsSynthNode *node = synth_open->node; in synth_readdir() local
266 entry = synth_get_dentry(node, &synth_open->dent, synth_open->offset); in synth_readdir()
277 V9fsSynthNode *node = *(V9fsSynthNode **)fs_path->data; in synth_open() local
280 synth_open->node = node; in synth_open()
281 node->open_count++; in synth_open()
297 V9fsSynthNode *node = synth_open->node; in synth_close() local
299 node->open_count--; in synth_close()
311 V9fsSynthNode *node = synth_open->node; in synth_pwritev() local
312 if (!node->attr->write) { in synth_pwritev()
317 wcount = node->attr->write(iov[i].iov_base, iov[i].iov_len, in synth_pwritev()
318 offset, node->private); in synth_pwritev()
335 V9fsSynthNode *node = synth_open->node; in synth_preadv() local
336 if (!node->attr->read) { in synth_preadv()
341 rcount = node->attr->read(iov[i].iov_base, iov[i].iov_len, in synth_preadv()
342 offset, node->private); in synth_preadv()
492 V9fsSynthNode *node; in synth_name_to_path() local
507 node = dir_node; in synth_name_to_path()
512 QLIST_FOREACH(node, &dir_node->child, sibling) { in synth_name_to_path()
513 if (!strcmp(node->name, name)) { in synth_name_to_path()
519 if (!node) { in synth_name_to_path()
524 /* Copy the node pointer to fid */ in synth_name_to_path()
526 target->data = g_memdup(&node, sizeof(void *)); in synth_name_to_path()
581 V9fsSynthNode *node = NULL; in synth_init() local
588 ret = qemu_v9fs_synth_mkdir(node, 0700, name, &node); in synth_init()