Lines Matching defs:dentryBlk
336 HmdfsDentryGroup dentryBlk = {0};
357 if (FileUtils::ReadFile(fd_, pos, DENTRYGROUP_SIZE, &dentryBlk) != DENTRYGROUP_SIZE) {
360 bitPos = RoomForFilename(dentryBlk.bitmap, GetDentrySlots(base.name.length()), DENTRY_PER_GROUP);
370 if (!UpdateDentry(dentryBlk, base, namehash, bitPos)) {
374 int size = FileUtils::WriteFile(fd_, &dentryBlk, pos, DENTRYGROUP_SIZE);
402 auto dentryBlk = std::make_unique<HmdfsDentryGroup>();
405 ssize_t size = FileUtils::ReadFile(ctx->fd, pos, DENTRYGROUP_SIZE, dentryBlk.get());
409 return dentryBlk;
412 static HmdfsDentry *FindInBlock(HmdfsDentryGroup &dentryBlk, uint32_t namehash, const std::string &name)
419 if (!BitOps::TestBit(bitPos, dentryBlk.bitmap)) {
424 de = &dentryBlk.nsl[bitPos];
431 !memcmp(name.c_str(), dentryBlk.fileName[bitPos], de->namelen)) {
455 auto dentryBlk = FindDentryPage(bidx, ctx);
456 if (dentryBlk == nullptr) {
460 de = FindInBlock(*dentryBlk, ctx->hash, ctx->name);
462 ctx->page = std::move(dentryBlk);