Lines Matching refs:inode

36 /*! Visit the next inode.
51 Inode* inode;
60 // open inode
62 status = vnode.Get(&inode);
69 if (inode != NULL && inode->IsDeleted())
79 if (inode->IsContainer()) {
81 BPlusTree* tree = inode->Tree();
83 status = OpenBPlusTreeFailed(inode);
89 fParent = inode;
96 // the inode must stay locked in memory until the iterator
111 // unlock the directory's inode from memory
134 status = vnode.Get(&inode);
143 status = VisitDirectoryEntry(inode, fParent, treeName);
147 if (inode->IsContainer() && !inode->IsIndex()) {
150 fStack.Push(inode->BlockRun());
152 // the inode may be deleted behind our back, we keep a
161 // If the inode has an attribute directory that we want to visit,
164 && !inode->Attributes().IsZero()) {
165 fStack.Push(inode->Attributes());
170 Vnode attrNode(fVolume, inode->Attributes());
174 bool visitingCurrentDirectory = inode->BlockRun() == fCurrent;
176 status = VisitInode(inode, name);
178 // the inode id is allowed to change in the VisitInode() call, so we
179 // may need to change the inode reference
181 fCurrent = inode->BlockRun();
224 while (Inode* inode = iterator.Next()) {
225 Vnode vnode(fVolume, inode->ID());
227 fStack.Push(inode->BlockRun());
242 // the current directory inode is still locked in memory
256 /*! Called when an inode is opened while iterating through its parent
266 latter case, VisitInode() will never be called for this inode.
269 FileSystemVisitor::VisitDirectoryEntry(Inode* inode, Inode* parent,
276 /*! Called for every inode, some time after VisitDirectoryEntry(). For
284 This call may change the inode ID.
287 FileSystemVisitor::VisitInode(Inode* inode, const char* treeName)
293 /*! Called when opening an inode fails. If the failure happened while
298 - \c B_OK : The traversal continues to the next inode
313 - \c B_OK : The traversal continues to the next inode
318 FileSystemVisitor::OpenBPlusTreeFailed(Inode* inode)
327 - \c B_OK : The traversal continues to the next inode