Lines Matching refs:ns

85 	fs_nspace *ns = (fs_nspace *)_volume->private_volume;
87 fs_node *dir = ns->root;
92 TRACE("websearchfs_publish_static_entries(%" B_PRId32 ")\n", ns->nsid);
93 if (!ns || !dir)
125 fs_nspace *ns;
136 ns = malloc(sizeof(fs_nspace));
137 if (!ns)
139 memset(ns, 0, sizeof(fs_nspace));
140 ns->nsid = _vol->id;
142 err = vnidpool_alloc(&ns->vnids, MAX_VNIDS);
145 err = vnidpool_get(ns->vnids, &ns->rootid);
148 atomic_add(&ns->nodecount, 1);
150 new_lock(&(ns->l), "websearchfs main lock");
152 ns->nodes = NULL;
157 ns->root = root;
162 root->vnid = ns->rootid;
163 fill_default_stat(&root->st, ns->nsid, ns->rootid, 0777 | S_IFDIR);
168 _vol->private_volume = ns;
170 *vnid = ns->rootid;
171 ns->nodes = root; // sll_insert
175 TRACE("mount() OK, nspace@ %p, id %" B_PRId32 ", root@ %p, id %" B_PRId64 "\n", ns, ns->nsid, root, ns->rootid);
181 free_lock(&ns->l);
182 free(ns);
189 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
192 TRACE("unmount(%" B_PRId32 ")\n", ns->nsid);
193 err = LOCK(&ns->l);
197 for (node = ns->nodes; node; node = ns->nodes) {
198 ns->nodes = node->nlnext; /* better cache that before we free node */
203 put_vnode(_volume, ns->rootid);
205 free_lock(&ns->l);
206 vnidpool_free(ns->vnids);
207 free(ns);
221 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
222 TRACE("%s(%" B_PRId32 ", %" B_PRId64 ")\n", __FUNCTION__, ns->nsid, node->vnid);
224 atomic_add(&ns->nodecount, -1);
225 vnidpool_put(ns->vnids, node->vnid);
235 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
238 TRACE("%s(%" B_PRId32 ", %" B_PRId64 ", %s)\n", __FUNCTION__, ns->nsid, node->vnid, reenter?"r":"!r");
240 err = LOCK(&ns->l);
243 if (node->vnid == ns->rootid) {
246 TRACE("SLL_REMOVE(ns->nodes %p, nlnext, %p)\n", ns->nodes, node);
248 err = SLL_REMOVE(ns->nodes, nlnext, node);
250 TRACE("SLL_REMOVE(ns->queries %p, qnext, %p)\n", ns->nodes, node);
251 err = SLL_REMOVE(ns->queries, qnext, node);
260 UNLOCK(&ns->l);
266 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
271 err = LOCK(&ns->l);
274 n = (fs_node *)SLL_FIND(ns->nodes, nlnext, (sll_compare_func)compare_fs_node_by_vnid, (void *)&vnid);
284 UNLOCK(&ns->l);
304 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
307 TRACE("get_vnode_name(%" B_PRId32 ", %" B_PRId64 ", )\n", ns->nsid, (int64)(node?node->vnid:-1));
315 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
319 TRACE("walk(%" B_PRId32 ", %" B_PRId64 ", %s)\n", ns->nsid, (int64)(base?base->vnid:-1), file);
358 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
362 TRACE("opendir(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid);
389 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
394 TRACE("closedir(%" B_PRId32 ", %" B_PRId64 ", %p)\n", ns->nsid, node->vnid, cookie);
407 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
410 TRACE("rewinddir(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid);
418 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
424 TRACE("readdir(%" B_PRId32 ", %" B_PRId64 ") @ %d\n", ns->nsid, node->vnid,
433 buf->d_dev = ns->nsid;
434 buf->d_pdev = ns->nsid;
435 buf->d_ino = parent?parent->vnid:ns->rootid;
436 buf->d_pino = (parent && parent->parent)?parent->parent->vnid:ns->rootid;
444 buf->d_dev = ns->nsid;
445 buf->d_pdev = ns->nsid;
447 buf->d_pino = parent?parent->vnid:ns->rootid;
457 buf->d_dev = ns->nsid;
458 buf->d_pdev = ns->nsid;
475 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
480 TRACE("freedircookie(%" B_PRId32 ", %" B_PRId64 ", %p)\n", ns->nsid, node?node->vnid:(int64)0, (void *)cookie);
492 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
501 st->st_dev = ns->nsid;
512 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
518 info->free_nodes=ns->nodecount;
519 info->dev=ns->nsid;
520 info->root=ns->rootid;
530 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
535 TRACE("open(%" B_PRId32 ", %" B_PRId64 ", 0x%x)\n", ns->nsid, node->vnid, omode);
539 // err = LOCK(&ns->l);
562 /* err = get_vnode(ns->nsid, node->vnid, &dummy);
570 // put_vnode(ns->nsid, node->nsid);
579 // UNLOCK(&ns->l);
585 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
589 TRACE("close(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid);
590 if (!ns || !node || !cookie)
605 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
609 TRACE("freecookie(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid);
618 ns->root->st.st_mtime = time(NULL);
620 notify_listener(B_ENTRY_REMOVED, ns->nsid, ns->rootid, 0LL, node->vnid, NULL);
621 notify_listener(B_STAT_CHANGED, ns->nsid, 0LL, 0LL, ns->rootid, NULL);
633 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
636 TRACE("read(%" B_PRId32 ", %" B_PRId64 ", %jd, %zu)\n", ns->nsid, node->vnid, pos, *len);
681 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
687 TRACE("create_gen(%" B_PRId32 ", %" B_PRId64 ", '%s', 0x%08x, %c, %c)\n", ns->nsid, dir->vnid, name, omode, mkdir?'t':'f', uniq?'t':'f');
731 err = vnidpool_get(ns->vnids, &n->vnid);
734 atomic_add(&ns->nodecount, 1);
737 fill_default_stat(&n->st, ns->nsid, n->vnid, (perms & ~S_IFMT) | (mkdir?S_IFDIR:S_IFREG));
741 err = LOCK(&ns->l);
744 err = SLL_INSERT(ns->nodes, nlnext, n);
751 // err = new_vnode(ns->nsid, n->vnid, n);
756 UNLOCK(&ns->l);
758 notify_entry_created(ns->nsid, dir->vnid, name, n->vnid);
760 notify_stat_changed(B_STAT_CHANGED, -1, ns->nsid, -1);
769 SLL_REMOVE(ns->nodes, nlnext, n);
771 UNLOCK(&ns->l);
774 atomic_add(&ns->nodecount, -1);
785 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
790 TRACE("create(%" B_PRId32 ", %" B_PRId64 ", '%s', 0x%08x)\n", ns->nsid, dir->vnid, name, omode);
805 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
808 TRACE("unlink(%" B_PRId32 ", %" B_PRId64 ", %s)\n", ns->nsid, dir->vnid, name);
809 //dprintf(PFS"unlink(%" B_PRId32 ", %" B_PRId64 ", %s)\n", ns->nsid, dir->vnid, name);
824 else if (n->vnid == ns->rootid)
828 notify_entry_removed(ns->nsid, dir->vnid, name, n->vnid);
829 //notify_listener(B_STAT_CHANGED, ns->nsid, 0LL, 0LL, dir->vnid, NULL);
840 //fs_nspace *ns = (fs_nspace *)_volume->private_volume;
847 //fs_nspace *ns = (fs_nspace *)_volume->private_volume;
855 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
858 TRACE("websearchfs_unlink_node_rec(%" B_PRId32 ", %" B_PRId64 ":%s)\n", ns->nsid, node->vnid, node->name);
859 if (!ns || !node)
878 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
880 TRACE("access(%" B_PRId32 ", %" B_PRId64 ", 0x%x)\n", ns->nsid, node->vnid, mode);
887 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
889 TRACE("mkdir(%" B_PRId32 ", %" B_PRId64 ", '%s', 0x%08x)\n", ns->nsid, dir->vnid, name, perms);
897 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
901 TRACE("open_attrdir(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid);
926 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
930 TRACE("close_attrdir(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid);
941 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
945 TRACE("free_attrdircookie(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid);
957 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
960 TRACE("rewind_attrdir(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid);
968 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
976 TRACE("read_attrdir(%" B_PRId32 ", %" B_PRId64 ") @ %d\n", ns->nsid, node->vnid,
994 buf->d_dev = ns->nsid;
995 buf->d_pdev = ns->nsid;
997 buf->d_pino = node->parent?node->parent->vnid:ns->rootid;
1019 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
1026 TRACE("open_attr(%" B_PRId32 ", %" B_PRId64 ", %s, 0x%x)\n", ns->nsid, node->vnid, name, omode);
1065 // put_vnode(ns->nsid, node->nsid);
1074 // UNLOCK(&ns->l);
1080 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
1084 TRACE("close_attr(%" B_PRId32 ", %" B_PRId64 ":%s)\n", ns->nsid, node->vnid,
1086 if (!ns || !node || !cookie)
1101 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
1105 TRACE("free_attrcookie(%" B_PRId32 ", %" B_PRId64 ":%s)\n", ns->nsid, node->vnid,
1123 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
1128 TRACE("stat_attr(%" B_PRId32 ", %" B_PRId64 ":%s)\n", ns->nsid, node->vnid, ae->name);
1141 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
1146 TRACE("read_attr(%" B_PRId32 ", %" B_PRId64 ":%s)\n", ns->nsid, node->vnid, ae->name);
1185 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
1197 ns->nsid, query, flags, port, token);
1245 LOCK(&ns->l);
1246 qn = SLL_FIND(ns->queries, qnext,
1248 UNLOCK(&ns->l);
1251 TRACE("open_query: reusing %" B_PRId32 ":%" B_PRId64 "\n", ns->nsid, qn->vnid);
1270 /* should get/put_vnode(ns->root); around that I think... */
1271 err = websearchfs_create_gen(_volume, ns->root, qname, 0, 0755, NULL, &qn, folders_attrs, true, true);
1303 notify_attribute_changed(ns->nsid, -1, n->vnid, n->attrs[0].name, B_ATTR_CHANGED);
1311 LOCK(&ns->l);
1312 SLL_INSERT(ns->queries, qnext, qn);
1313 UNLOCK(&ns->l);
1333 websearchfs_unlink_gen(_volume, ns->root, qn->name);
1344 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
1348 TRACE("close_query(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid,
1398 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
1403 TRACE("read_query(%" B_PRId32 ", %" B_PRId64 ") @ %d\n", ns->nsid, node ? node->vnid : (int64)0,
1418 buf->d_dev = ns->nsid;
1419 buf->d_pdev = ns->nsid;
1438 fs_nspace *ns = (fs_nspace *)_volume->private_volume;
1444 TRACE("push_result_to_query(%" B_PRId32 ", %" B_PRId64 ", %ld:'%s')\n", ns->nsid, qn->vnid, result->id, result->name);
1445 //dprintf(PFS"push_result_to_query(%" B_PRId32 ", %" B_PRId64 ", %ld:'%s')\n", ns->nsid, qn->vnid, result->id, result->name);
1447 if (!ns || !qn)
1471 notify_attribute_changed(ns->nsid, -1, n->vnid, n->attrs[i].name, B_ATTR_CREATED);
1477 notify_attribute_changed(ns->nsid, -1, n->vnid, n->attrs[i].name, B_ATTR_CREATED);
1483 notify_attribute_changed(ns->nsid, -1, n->vnid, n->attrs[i].name, B_ATTR_CREATED);
1489 notify_attribute_changed(ns->nsid, -1, n->vnid, n->attrs[i].name, B_ATTR_CREATED);
1496 notify_attribute_changed(ns->nsid, -1, n->vnid, n->attrs[i].name, B_ATTR_CREATED);
1504 notify_attribute_changed(ns->nsid, -1, n->vnid, n->attrs[i].name, B_ATTR_CREATED);
1512 notify_attribute_changed(ns->nsid, -1, n->vnid, n->attrs[i].name, B_ATTR_CREATED);