Lines Matching refs:info

108 			NodeInfo* info = it.Next();) {
109 status_t error = info->node->Flush(*this);
169 NodeInfo* info = it.Next();) {
170 info->node->RevertNodeData(info->oldNodeData);
203 NodeInfo* info = _GetNodeInfo(node);
204 if (info != NULL)
207 info = new(std::nothrow) NodeInfo;
208 if (info == NULL)
214 info->node = node;
215 info->oldNodeData = node->NodeData();
216 info->flags = flags;
218 fNodeInfos.Add(info);
250 NodeInfo* info = _GetNodeInfo(node);
251 if (info == NULL)
254 fNodeInfos.Remove(info);
256 _DeleteNodeInfoAndUnlock(info, false);
267 NodeInfo* info = _GetNodeInfo(node);
268 if (info == NULL)
271 info->flags = flags;
280 NodeInfo* info = _GetNodeInfo(node);
281 if (info == NULL)
284 info->flags &= ~(uint32)TRANSACTION_DELETE_NODE;
294 BlockInfo* info = fBlockInfos.Lookup(blockIndex);
295 if (info != NULL) {
296 info->refCount++;
301 info = new(std::nothrow) BlockInfo;
302 if (info == NULL)
304 ObjectDeleter<BlockInfo> infoDeleter(info);
306 info->indexAndCheckSum.blockIndex = blockIndex;
307 info->refCount = 1;
308 info->dirty = false;
312 &info->indexAndCheckSum, sizeof(info->indexAndCheckSum)) < 0) {
317 info->data = block_cache_get(fVolume->BlockCache(), blockIndex);
318 if (info->data == NULL) {
319 delete info;
334 BlockInfo* info = fBlockInfos.Lookup(blockIndex);
335 if (info == NULL) {
341 if (info->refCount == 0) {
347 info->dirty |= data != NULL;
349 if (--info->refCount == 0 && !info->dirty) {
350 // block wasn't got successfully -- remove the info
351 fBlockInfos.Remove(info);
353 info->indexAndCheckSum.blockIndex);
354 delete info;
363 NodeInfo* info = it.Next();) {
364 if (node == info->node)
365 return info;
375 while (NodeInfo* info = fNodeInfos.RemoveHead())
376 _DeleteNodeInfoAndUnlock(info, failed);
381 Transaction::_DeleteNodeInfoAndUnlock(NodeInfo* info, bool failed)
384 if ((info->flags & TRANSACTION_REMOVE_NODE_ON_ERROR) != 0)
385 fVolume->RemoveNode(info->node);
386 else if ((info->flags & TRANSACTION_UNREMOVE_NODE_ON_ERROR) != 0)
387 fVolume->UnremoveNode(info->node);
390 if ((info->flags & TRANSACTION_DELETE_NODE) != 0)
391 delete info->node;
392 else if ((info->flags & TRANSACTION_KEEP_NODE_LOCKED) == 0)
393 info->node->WriteUnlock();
394 delete info;
402 BlockInfo* info = it.Next();) {
403 if (info->refCount > 0) {
405 " still referenced", info->indexAndCheckSum.blockIndex);
408 if (!info->dirty)
413 fSHA256->Update(info->data, B_PAGE_SIZE);
414 fCheckSum->blockIndex = info->indexAndCheckSum.blockIndex;
432 BlockInfo* info = it.Next();) {
433 if (!info->dirty)
438 &info->indexAndCheckSum, sizeof(info->indexAndCheckSum)) < 0) {