Lines Matching refs:info

104 									LevelInfo& info, size_t needed,
644 LevelInfo& info = infos[level];
646 if (info.entryBlock.EntryCount() == 0) {
655 info.index = info.entryBlock.FindInsertionIndex(name, nameLength,
656 info.exactMatch);
659 info.index, info.exactMatch ? "" : " not ");
666 if (!info.exactMatch && info.index > 0)
667 info.index--;
669 uint64 nextBlockIndex = info.entryBlock.BlockIndexAt(info.index);
695 LevelInfo& info = infos[level];
696 if (++info.index < info.entryBlock.EntryCount()) {
698 B_PRId32 "\n", level, info.index);
709 LevelInfo& info = infos[level];
715 if (!info.block.GetReadable(fDirectory->GetVolume(),
720 info.entryBlock.SetTo(
721 (checksumfs_dir_entry_block*)info.block.Data(), B_PAGE_SIZE);
722 ASSERT(info.entryBlock.Check());
724 info.index = 0;
725 if (info.entryBlock.EntryCount() == 0)
731 LevelInfo& info = infos[depth];
733 name = info.entryBlock.NameAt(info.index, nameLength);
743 _blockIndex = info.entryBlock.BlockIndexAt(info.index);
778 LevelInfo& info = infos[level];
780 if (info.entryBlock.EntryCount() == 0) {
784 info.index = 0;
791 info.index = info.entryBlock.FindInsertionIndex(name, nameLength,
792 info.exactMatch);
796 level == 0 ? fDirectory->BlockIndex() : info.block.Index(),
797 info.index, info.exactMatch ? "" : " not ");
801 if (info.exactMatch)
811 info.index--;
813 uint64 nextBlockIndex = info.entryBlock.BlockIndexAt(info.index);
869 LevelInfo& info = infos[level];
871 if (info.entryBlock.EntryCount() == 0) {
881 info.index = info.entryBlock.FindInsertionIndex(name, nameLength,
882 info.exactMatch);
886 level == 0 ? fDirectory->BlockIndex() : info.block.Index(),
887 info.index, info.exactMatch ? "" : " not ");
891 if (!info.exactMatch)
898 if (!info.exactMatch) {
899 if (info.index == 0) {
905 info.index--;
908 uint64 nextBlockIndex = info.entryBlock.BlockIndexAt(info.index);
935 LevelInfo& info = infos[level];
939 error = info.block.MakeWritable(transaction);
945 "\"%.*s\" (%" B_PRIuSIZE ")\n", level, info.index, (int)nameLength,
948 if (info.entryBlock.EntryCount() == 1) {
953 info.entryBlock.RemoveEntry(info.index);
958 info.block.Index(), 1, transaction);
970 info.entryBlock.RemoveEntry(info.index);
972 if (info.index > 0 || level == 0)
975 name = info.entryBlock.NameAt(0, nameLength);
1008 LevelInfo& info = infos[level];
1010 if (level == depth || info.index >= info.entryBlock.EntryCount()) {
1017 info.block.Index(), 1, transaction);
1024 uint64 nextBlockIndex = info.entryBlock.BlockIndexAt(info.index);
1135 LevelInfo& info = infos[level];
1152 error = info.block.MakeWritable(transaction);
1159 "to \"%.*s\" (%" B_PRIuSIZE ")\n", level, info.index,
1163 info.entryBlock.NameAt(info.index, oldNameLength);
1167 if (spaceNeeded <= info.entryBlock.FreeSpace()) {
1168 info.entryBlock.ReplaceEntryName(info.index, nameToUpdate,
1170 if (info.index == 0) {
1174 nameToUpdate = info.entryBlock.NameAt(0,
1179 tempBlockUpdate.TransferFrom(info.block);
1196 error = _InsertEntrySplitBlock(level, info, spaceNeeded,
1208 if (info.index < splitIndex) {
1209 ASSERT(info.entryBlock.FreeSpace() >= spaceNeeded);
1211 info.entryBlock.ReplaceEntryName(info.index,
1213 if (info.index == 0) {
1217 nameToUpdate = info.entryBlock.NameAt(0,
1222 tempBlockUpdate.TransferFrom(info.block);
1227 // we need to transfer the block to the info, in case we
1229 info.block.TransferFrom(newBlock);
1230 info.entryBlock.SetTo(
1231 (checksumfs_dir_entry_block*)info.block.Data(),
1233 ASSERT(info.entryBlock.Check());
1235 info.index -= splitIndex;
1237 info.entryBlock.ReplaceEntryName(info.index, nameToUpdate,
1257 info.index++;
1261 level, info.index, (int)nameLength, name, nameLength,
1264 if (info.entryBlock.FreeSpace() >= nameLength + 10) {
1265 info.entryBlock.InsertEntry(info.index, name,
1267 if (info.index == 0) {
1271 nameToUpdate = info.entryBlock.NameAt(0,
1276 tempBlockUpdate.TransferFrom(info.block);
1299 error = _InsertEntrySplitBlock(level, info, nameLength + 10,
1309 if (info.index < splitIndex) {
1310 ASSERT(info.entryBlock.FreeSpace() >= nameLength + 10);
1312 info.entryBlock.InsertEntry(info.index, name,
1314 if (info.index == 0) {
1318 nameToUpdate = info.entryBlock.NameAt(0,
1323 tempBlockUpdate.TransferFrom(info.block);
1328 info.index -= splitIndex;
1330 newEntryBlock.InsertEntry(info.index, name, nameLength,
1400 DirEntryTree::_InsertEntrySplitBlock(int32 level, LevelInfo& info,
1404 int32 splitIndex = info.entryBlock.FindSplitIndex(info.index,
1409 info.entryBlock.EntryCount());
1431 info.entryBlock.SplitBlock(splitIndex, newEntryBlock);