The Pedigree Project 0.1
Public Member Functions | Public Attributes | List of all members
Ext2InodeState Struct Reference
+ Collaboration diagram for Ext2InodeState:

Public Member Functions

 Ext2InodeState (Inode *inode, Ext2Filesystem *filesystem)
 
void reloadMappings (Inode *inode, Ext2Filesystem *filesystem)
 
void loadMappings (Ext2Filesystem *filesystem, uint32_t block, unsigned depth, size_t first, size_t span)
 

Public Attributes

Vector< uint32_t > blocks
 
uint32_t metadataBlocks
 
uint32_t allocatedDataBlocks
 
size_t size
 
bool allocationValid = true
 
Mutex dataLock
 
Mutex writeLock
 
Mutex writebackLock
 
Vector< uint32_t > namespaceSyncBlocks
 
size_t pageLoans
 
size_t references
 
size_t syncReferences = 0
 
bool orphan
 
bool quotaFile = false
 
bool quotaInternalWrite = false
 
InodeEventSource inodeEvents
 
uintptr_t futexIdentity
 
Vector< Ext2File * > files
 
File::CacheState * cache = nullptr
 
Inode * metadata
 
Ext2Filesystem * filesystem
 

Detailed Description

Definition at line 33 of file Ext2Node.h.

Constructor & Destructor Documentation

◆ Ext2InodeState()

Ext2InodeState::Ext2InodeState ( Inode *  inode,
Ext2Filesystem *  filesystem 
)

Definition at line 33 of file Ext2Node.cc.

◆ ~Ext2InodeState()

Ext2InodeState::~Ext2InodeState ( )

Definition at line 51 of file Ext2Node.cc.

Member Function Documentation

◆ loadMappings()

void Ext2InodeState::loadMappings ( Ext2Filesystem *  filesystem,
uint32_t  block,
unsigned  depth,
size_t  first,
size_t  span 
)

Definition at line 105 of file Ext2Node.cc.

◆ reloadMappings()

void Ext2InodeState::reloadMappings ( Inode *  inode,
Ext2Filesystem *  filesystem 
)

Definition at line 55 of file Ext2Node.cc.

Member Data Documentation

◆ allocatedDataBlocks

uint32_t Ext2InodeState::allocatedDataBlocks

Definition at line 41 of file Ext2Node.h.

◆ allocationValid

bool Ext2InodeState::allocationValid = true

Definition at line 43 of file Ext2Node.h.

◆ blocks

Vector<uint32_t> Ext2InodeState::blocks

Definition at line 39 of file Ext2Node.h.

◆ cache

File::CacheState* Ext2InodeState::cache = nullptr

Definition at line 57 of file Ext2Node.h.

◆ dataLock

Mutex Ext2InodeState::dataLock

Definition at line 44 of file Ext2Node.h.

◆ files

Vector<Ext2File*> Ext2InodeState::files

Definition at line 56 of file Ext2Node.h.

◆ filesystem

Ext2Filesystem* Ext2InodeState::filesystem

Definition at line 59 of file Ext2Node.h.

◆ futexIdentity

uintptr_t Ext2InodeState::futexIdentity

Definition at line 55 of file Ext2Node.h.

◆ inodeEvents

InodeEventSource Ext2InodeState::inodeEvents

Definition at line 54 of file Ext2Node.h.

◆ metadata

Inode* Ext2InodeState::metadata

Definition at line 58 of file Ext2Node.h.

◆ metadataBlocks

uint32_t Ext2InodeState::metadataBlocks

Definition at line 40 of file Ext2Node.h.

◆ namespaceSyncBlocks

Vector<uint32_t> Ext2InodeState::namespaceSyncBlocks

Definition at line 47 of file Ext2Node.h.

◆ orphan

bool Ext2InodeState::orphan

Definition at line 51 of file Ext2Node.h.

◆ pageLoans

size_t Ext2InodeState::pageLoans

Definition at line 48 of file Ext2Node.h.

◆ quotaFile

bool Ext2InodeState::quotaFile = false

Definition at line 52 of file Ext2Node.h.

◆ quotaInternalWrite

bool Ext2InodeState::quotaInternalWrite = false

Definition at line 53 of file Ext2Node.h.

◆ references

size_t Ext2InodeState::references

Definition at line 49 of file Ext2Node.h.

◆ size

size_t Ext2InodeState::size

Definition at line 42 of file Ext2Node.h.

◆ syncReferences

size_t Ext2InodeState::syncReferences = 0

Definition at line 50 of file Ext2Node.h.

◆ writebackLock

Mutex Ext2InodeState::writebackLock

Definition at line 46 of file Ext2Node.h.

◆ writeLock

Mutex Ext2InodeState::writeLock

Definition at line 45 of file Ext2Node.h.


The documentation for this struct was generated from the following files: