Lines Matching refs:root
41 for (int32 i = 0; Root* root = fRoots.ItemAt(i); i++)
42 root->ReleaseReference();
92 // Get the node_ref of the filesystem root to see which one it is
95 error = message->FindInt64("root", &nodeRef.node);
101 Root* root = _FindRoot(nodeRef);
102 if (root != NULL) {
103 root->HandleRequest(DetachCurrentMessage());
135 error = volume->Init(node_ref(info.dev, info.root), rootRef);
146 // get the root for the volume and register it
147 Root* root;
148 error = _GetOrCreateRoot(rootRef, root);
152 error = root->RegisterVolume(volume);
154 _PutRoot(root);
172 Root* root = volume->GetRoot();
173 root->UnregisterVolume(volume);
175 _PutRoot(root);
182 Root* root = _FindRoot(nodeRef);
183 if (root != NULL) {
184 root->AcquireReference();
186 root = new(std::nothrow) Root;
187 if (root == NULL)
189 ObjectDeleter<Root> rootDeleter(root);
198 status_t error = root->Init(nodeRef, isSystemRoot);
202 if (!fRoots.AddItem(root))
208 fSystemRoot = root;
210 INFORM("root at \"%s\" (device: %" B_PRIdDEV ", node: %" B_PRIdINO ") "
211 "registered\n", root->Path().String(), nodeRef.device,
215 _root = root;
223 for (int32 i = 0; Root* root = fRoots.ItemAt(i); i++) {
224 if (root->NodeRef() == nodeRef)
225 return root;
233 PackageDaemon::_PutRoot(Root* root)
235 if (root->ReleaseReference() == 1) {
236 INFORM("root at \"%s\" unregistered\n", root->Path().String());
237 fRoots.RemoveItem(root, true);
246 for (int32 i = 0; Root* root = fRoots.ItemAt(i); i++) {
247 if (Volume* volume = root->FindVolume(deviceID))