Lines Matching refs:inode

26 		NodeGetter(Inode* inode)
28 fInode(inode)
46 Inode::Inode(Disk* disk, bfs_inode* inode, bool ownBuffer)
49 fInode(inode),
57 if (inode != NULL)
58 fBlockRun = inode->inode_num;
62 Inode::Inode(const Inode& inode)
64 fDisk(inode.fDisk),
65 fInode(inode.fInode),
68 fBlockRun(inode.fBlockRun),
101 Inode::SetTo(bfs_inode *inode)
105 fInode = inode;
106 fBlockRun = inode->inode_num;
117 // test inode magic and flags
137 // is inode size one of the valid values?
149 // is inode on a boundary matching it's size?
439 Inode *inode;
441 inode = source->InodeAt(parent);
443 inode = Inode::Factory(fDisk, parent);
445 if (inode == NULL
446 || inode->InitCheck() < B_OK
447 || inode->Name() == NULL
448 || !*inode->Name()) {
454 delete inode;
457 parent = inode->Parent();
459 path.Prepend(inode->Name());
461 delete inode;
548 Inode::Factory(Disk *disk, bfs_inode *inode, bool ownBuffer)
551 if ((inode->mode & (S_ATTR | S_ATTR_DIR)) == S_ATTR)
552 return new Attribute(disk, inode, ownBuffer);
555 if (S_ISDIR(inode->mode) || inode->mode & S_ATTR_DIR)
556 return new Directory(disk, inode, ownBuffer);
559 if (S_ISREG(inode->mode))
560 return new File(disk, inode, ownBuffer);
563 if (S_ISLNK(inode->mode))
564 return new Symlink(disk, inode, ownBuffer);
573 bfs_inode *inode = (bfs_inode *)malloc(disk->BlockSize());
574 if (!inode)
577 if (disk->ReadAt(disk->ToOffset(run), inode, disk->BlockSize()) <= 0)
580 Inode *object = Factory(disk, inode);
582 free(inode);
589 Inode::Factory(Disk *disk, Inode *inode, bool copyBuffer)
591 bfs_inode *inodeBuffer = inode->fInode;
608 bfs_inode *inode = (bfs_inode *)malloc(disk->BlockSize());
609 if (!inode)
612 memset(inode, 0, sizeof(bfs_inode));
614 inode->magic1 = INODE_MAGIC1;
615 inode->inode_size = disk->BlockSize();
616 inode->mode = mode;
617 inode->flags = INODE_IN_USE | (mode & S_IFDIR ? INODE_LOGGED : 0);
620 small_data *data = inode->small_data_start;
628 Inode *object = new (std::nothrow) Inode(disk, inode);
630 free(inode);
643 DataStream::DataStream(Disk *disk, bfs_inode *inode, bool ownBuffer)
644 : Inode(disk,inode,ownBuffer),
651 DataStream::DataStream(const Inode &inode)
652 : Inode(inode),
919 File::File(Disk *disk, bfs_inode *inode,bool ownBuffer)
920 : DataStream(disk,inode,ownBuffer)
925 File::File(const Inode &inode)
926 : DataStream(inode)
960 // changes the filename in the inode buffer (for deleted entries)
996 Attribute::Attribute(Disk *disk, bfs_inode *inode, bool ownBuffer)
997 : File(disk, inode, ownBuffer)
1002 Attribute::Attribute(const Inode &inode)
1003 : File(inode)
1040 Directory::Directory(Disk *disk, bfs_inode *inode, bool ownBuffer)
1041 : DataStream(disk, inode, ownBuffer),
1047 Directory::Directory(const Inode &inode)
1048 : DataStream(inode),
1089 // changes the filename in the inode buffer (for deleted entries)
1181 Directory::Contains(const Inode *inode)
1191 const char *name = inode->Name();
1196 if (fDisk->ToBlockRun(value) == inode->InodeBuffer()->inode_num)
1199 printf("inode address do not match (%s)!\n", inode->Name());
1205 return Contains(&inode->InodeBuffer()->inode_num);
1235 Directory::AddEntry(Inode *inode)
1268 if (inode->Flags() & INODE_DELETED)
1271 BString name = inode->Name();
1273 name << "__file " << inode->BlockRun().allocation_group << ":"
1274 << (int32)inode->BlockRun().start;
1277 return fTree->Insert(name.String(), inode->Block());
1312 Symlink::Symlink(Disk *disk, bfs_inode *inode,bool ownBuffer)
1313 : Inode(disk,inode,ownBuffer)
1318 Symlink::Symlink(const Inode &inode)
1319 : Inode(inode)
1353 // changes the filename in the inode buffer (for deleted entries)