RTEMS 6.3
Loading...
Searching...
No Matches
RTEMS File System Group Management

Files

file  cpukit/include/rtems/rfs/rtems-rfs-bitmaps.h
 RTEMS File Systems Bitmap Routines.
file  cpukit/include/rtems/rfs/rtems-rfs-block-pos.h
 RTEMS File Systems Block Position and Size Management.
file  cpukit/include/rtems/rfs/rtems-rfs-block.h
 RTEMS File Systems Block Management.
file  cpukit/include/rtems/rfs/rtems-rfs-buffer.h
 Maps Blocks to the Media Interface Layers.
file  cpukit/include/rtems/rfs/rtems-rfs-data.h
 RTEMS File System Data.
file  cpukit/include/rtems/rfs/rtems-rfs-dir-hash.h
 Provides a 32bit Hash of a String used to Search a Directory.
file  cpukit/include/rtems/rfs/rtems-rfs-dir.h
 RTEMS File System Directory Support.
file  cpukit/include/rtems/rfs/rtems-rfs-file-system-fwd.h
 RTEMS File Systems Data Forward Declaration.
file  cpukit/include/rtems/rfs/rtems-rfs-file-system.h
 RTEMS File System Data.
file  cpukit/include/rtems/rfs/rtems-rfs-file.h
 RTEMS File System File Support.
file  cpukit/include/rtems/rfs/rtems-rfs-group.h
 RTEMS File Systems Group Management.
file  cpukit/include/rtems/rfs/rtems-rfs-inode.h
 RTEMS File System Information Node.
file  cpukit/include/rtems/rfs/rtems-rfs-mutex.h
 RTEMS File System Mutex.
file  cpukit/include/rtems/rfs/rtems-rfs-trace.h
 Manages the Trace and Debugging Features of the RTEMS RFS File System.
file  cpukit/include/rtems/rtems-rfs-format.h
 RTEMS File System Format.
file  cpukit/include/rtems/rtems-rfs-shell.h
 RTEMS File Systems Shell Commands.
file  cpukit/include/rtems/rtems-rfs.h
 RFS File system Initialization.
file  cpukit/libfs/src/rfs/rtems-rfs-bitmaps.c
 RTEMS File Systems Bitmap Routines.
file  cpukit/libfs/src/rfs/rtems-rfs-block.c
 RTEMS File Systems Block Routines.
file  cpukit/libfs/src/rfs/rtems-rfs-buffer-bdbuf.c
 RTEMS File Systems Buffer Routines.
file  cpukit/libfs/src/rfs/rtems-rfs-buffer-devio.c
 RTEMS File Systems Buffer Routines.
file  cpukit/libfs/src/rfs/rtems-rfs-buffer.c
 RTEMS File Systems Buffer Routines.
file  cpukit/libfs/src/rfs/rtems-rfs-dir-hash.c
 RTEMS File Systems Directory Hash function.
file  cpukit/libfs/src/rfs/rtems-rfs-dir.c
 RTEMS File Systems Directory Routines.
file  cpukit/libfs/src/rfs/rtems-rfs-file-system.c
 RTEMS File Systems Open.
file  cpukit/libfs/src/rfs/rtems-rfs-file.c
 RTEMS File Systems File Routines.
file  cpukit/libfs/src/rfs/rtems-rfs-format.c
 RTEMS File Systems Format.
file  cpukit/libfs/src/rfs/rtems-rfs-group.c
 RTEMS File Systems Group Routines.
file  cpukit/libfs/src/rfs/rtems-rfs-inode.c
 RTEMS File Systems Inode Routines.
file  cpukit/libfs/src/rfs/rtems-rfs-mutex.c
 RTEMS File System Mutex.
file  cpukit/libfs/src/rfs/rtems-rfs-rtems-dev.c
 RTEMS RFS Device Interface.
file  cpukit/libfs/src/rfs/rtems-rfs-rtems-dir.c
 RTEMS RFS Directory Access Routines.
file  cpukit/libfs/src/rfs/rtems-rfs-rtems-file.c
 RTEMS RFS File Handlers.
file  cpukit/libfs/src/rfs/rtems-rfs-rtems-utils.c
 Set of Utility Functions to Support RTEMS RFS on RTEMS.
file  cpukit/libfs/src/rfs/rtems-rfs-rtems.c
 RTEMS File System Interface for RTEMS.
file  cpukit/libfs/src/rfs/rtems-rfs-rtems.h
file  cpukit/libfs/src/rfs/rtems-rfs-shell.c
 RTEMS File Systems Shell Commands Support.
file  cpukit/libfs/src/rfs/rtems-rfs-trace.c
 RTEMS File Systems Trace Support.

Functions

int rtems_rfs_rtems_initialise (rtems_filesystem_mount_table_entry_t *mt_entry, const void *data)
int rtems_rfs_group_open (rtems_rfs_file_system *fs, rtems_rfs_buffer_block base, size_t size, size_t inodes, rtems_rfs_group *group)
 Open a group.
int rtems_rfs_group_close (rtems_rfs_file_system *fs, rtems_rfs_group *group)
 Close a group.
int rtems_rfs_group_bitmap_alloc (rtems_rfs_file_system *fs, rtems_rfs_bitmap_bit goal, bool inode, rtems_rfs_bitmap_bit *result)
 Allocate an inode or block.
int rtems_rfs_group_bitmap_free (rtems_rfs_file_system *fs, bool inode, rtems_rfs_bitmap_bit no)
 Free the group allocated bit.
int rtems_rfs_group_bitmap_test (rtems_rfs_file_system *fs, bool inode, rtems_rfs_bitmap_bit no, bool *state)
 Test the group allocated bit.
int rtems_rfs_group_usage (rtems_rfs_file_system *fs, size_t *blocks, size_t *inodes)
 Determine the number of blocks and inodes used.
#define RTEMS_RFS_GROUP_BLOCK_BITMAP_BLOCK   (0)
#define RTEMS_RFS_GROUP_INODE_BITMAP_BLOCK   (1)
#define RTEMS_RFS_GROUP_INODE_BLOCK   (2)
#define rtems_rfs_group_block(_g, _b)
#define rtems_rfs_group_inode(_f, _g, _i)
typedef struct _rtems_rfs_group rtems_rfs_group
 Creates bit allocator for blocks in the group simpler.

Detailed Description

Macro Definition Documentation

◆ rtems_rfs_group_block

#define rtems_rfs_group_block ( _g,
_b )
Value:
(((_g)->base) + (_b))

Return the disk's block for a block in a group.

◆ RTEMS_RFS_GROUP_BLOCK_BITMAP_BLOCK

#define RTEMS_RFS_GROUP_BLOCK_BITMAP_BLOCK   (0)

RTEMS File System Group Management Block allocations for a group on disk.

◆ rtems_rfs_group_inode

#define rtems_rfs_group_inode ( _f,
_g,
_i )
Value:
(((_f)->group_inodes * (_g)) + (_i) + RTEMS_RFS_ROOT_INO)
#define RTEMS_RFS_ROOT_INO
Definition rtems-rfs-file-system.h:75

Return the file system inode for a inode in a group.

Typedef Documentation

◆ rtems_rfs_group

Creates bit allocator for blocks in the group simpler.

A group is a selection of blocks on the disk. Typically the number of blocks in a group is determined by the number of bits a block holds. This makes the bit allocator for blocks in the group simpler plus is allows a simple way to localise access to files and directories.

Function Documentation

◆ rtems_rfs_group_bitmap_alloc()

int rtems_rfs_group_bitmap_alloc ( rtems_rfs_file_system * fs,
rtems_rfs_bitmap_bit goal,
bool inode,
rtems_rfs_bitmap_bit * result )

Allocate an inode or block.

The groups are searched to find the next available inode or block.

Parameters
fsThe file system data.
goalThe goal to seed the bitmap search.
inodeIf true allocate an inode else allocate a block.
resultThe allocated bit in the bitmap.
Return values
intThe error number (errno). No error if 0.

◆ rtems_rfs_group_bitmap_free()

int rtems_rfs_group_bitmap_free ( rtems_rfs_file_system * fs,
bool inode,
rtems_rfs_bitmap_bit no )

Free the group allocated bit.

Parameters
fsThe file system data.
inodeIf true the number to free is an inode else it is a block.
blockThe inode or block number to free.
Return values
intThe error number (errno). No error if 0.

◆ rtems_rfs_group_bitmap_test()

int rtems_rfs_group_bitmap_test ( rtems_rfs_file_system * fs,
bool inode,
rtems_rfs_bitmap_bit no,
bool * state )

Test the group allocated bit.

Parameters
fsThe file system data.
inodeIf true the number to free is an inode else it is a block.
blockThe inode or block number to free.
stateReturn the state of the bit.
Return values
intThe error number (errno). No error if 0.

◆ rtems_rfs_group_close()

int rtems_rfs_group_close ( rtems_rfs_file_system * fs,
rtems_rfs_group * group )

Close a group.

Release all resources the group holds.

Parameters
fsThe file system.
groupThe group to close.
Return values
intThe error number (errno). No error if 0.

◆ rtems_rfs_group_open()

int rtems_rfs_group_open ( rtems_rfs_file_system * fs,
rtems_rfs_buffer_block base,
size_t size,
size_t inodes,
rtems_rfs_group * group )

Open a group.

Allocate all the resources including the bitmaps.

Parameters
fsThe file system.
baseThe base block number.
sizeThe number of blocks in the group.
groupReference to the group to open.
Return values
intThe error number (errno). No error if 0.

◆ rtems_rfs_group_usage()

int rtems_rfs_group_usage ( rtems_rfs_file_system * fs,
size_t * blocks,
size_t * inodes )

Determine the number of blocks and inodes used.

Parameters
fsThe file system data.
blocksThe number of blocks used.
inodesThe number of inodes used.
Return values
intThe error number (errno). No error if 0.

◆ rtems_rfs_rtems_initialise()

int rtems_rfs_rtems_initialise ( rtems_filesystem_mount_table_entry_t * mt_entry,
const void * data )

Initialise the RFS File system.

Open the file system.

Forward decl for the ops table.

Open the file system.