Go to the documentation of this file.
18 #ifndef __FILESYSTEM_LINN_FILESYSTEM_H
19 #define __FILESYSTEM_LINN_FILESYSTEM_H
40 #define LINNFS_ROOTFS_FILE "./rootfs.linn"
48 #define LINN_MIN_BLOCK_SIZE 1024
51 #define LINN_MAX_BLOCK_SIZE 4096
157 Size & numContiguous);
HashTable< u32, LinnInode * > inodes
Inode cache.
Linnenbank FileSystem (LinnFS).
Vector< LinnGroup * > * groups
Group descriptors.
Structure of a group descriptor.
Abstract filesystem class.
Storage * getStorage()
Get the underlying Storage object.
LinnInode * getInode(u32 inodeNum)
Read an inode from the filesystem.
unsigned long long u64
Unsigned 64-bit number.
LinnSuperBlock super
Describes the filesystem.
LinnGroup * getGroup(u32 groupNum)
Read a group descriptor from the filesystem.
Storage * storage
Provides storage.
Linnenbank Filesystem (LinnFS) super block.
unsigned int u32
Unsigned 32-bit number.
Structure of an inode on the disk in the LinnFS filesystem.
void notSupportedHandler(FileSystemMessage *msg)
Callback handler for unsupported operations.
unsigned int Size
Any sane size indicator cannot go negative.
LinnGroup * getGroupByInode(u32 inodeNum)
Read a group descriptor from the filesystem, given an inode number.
LinnFileSystem(const char *path, Storage *storage)
Class constructor function.
LinnSuperBlock * getSuperBlock()
Retrieve the superblock pointer.
Provides a storage device to build filesystems on top.
u64 getOffsetRange(const LinnInode *inode, const u32 blk, Size &numContiguous)
Calculates the offset inside storage for a given block.