forked from Imagelibrary/rtems
Base versions cut from old document.
This commit is contained in:
28
doc/filesystem/init.t
Normal file
28
doc/filesystem/init.t
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
|
||||
System Initialization
|
||||
|
||||
|
||||
After the RTEMS initialization is performed, the application's initialization will
|
||||
be performed. Part of initialization is a call to rtems_filesystem_initialize(). This routine
|
||||
will mount the `In Memory File System' as the base file system.
|
||||
|
||||
Mounting the base file system consists of the following:
|
||||
|
||||
? Initialization of mount table chain control structure
|
||||
? Allocation of a -jnode- structure that will server as the root node of the `In Memory
|
||||
File System'
|
||||
? Initialization of the allocated -jnode- with the appropriate OPS, directory handlers
|
||||
and pathconf limits and options.
|
||||
? Allocation of a memory region for file system specific global management variables
|
||||
? Creation of first mount table entry for the base file system
|
||||
? Initialization of the first mount table chain entry to indicate that the mount point is
|
||||
NULL and the mounted file system is the base file system
|
||||
|
||||
|
||||
After the base file system has been mounted, the following operations are performed
|
||||
under its directory structure:
|
||||
|
||||
? Creation of the /dev directory
|
||||
? Registration of devices under /dev directory
|
||||
|
||||
63
doc/filesystem/mounting.t
Normal file
63
doc/filesystem/mounting.t
Normal file
@@ -0,0 +1,63 @@
|
||||
Mounting the base file system consists of the following:
|
||||
|
||||
? Initialization of mount table chain control structure
|
||||
? Allocation of a -jnode- structure that will server as the root node of the `In Memory
|
||||
File System'
|
||||
? Initialization of the allocated -jnode- with the appropriate OPS, directory handlers
|
||||
and pathconf limits and options.
|
||||
? Allocation of a memory region for file system specific global management variables
|
||||
? Creation of first mount table entry for the base file system
|
||||
? Initialization of the first mount table chain entry to indicate that the mount point is
|
||||
NULL and the mounted file system is the base file system
|
||||
|
||||
|
||||
After the base file system has been mounted, the following operations are performed
|
||||
under its directory structure:
|
||||
|
||||
? Creation of the /dev directory
|
||||
? Registration of devices under /dev directory
|
||||
|
||||
Mounting and Unmounting File Systems
|
||||
|
||||
? Characteristics of a Mount Point
|
||||
? The mount point must be a directory. It may have files and other directories under
|
||||
it. These files and directories will be hidden when the file system is mounted.
|
||||
? The task must have read/write/execute permissions to the mount point or the
|
||||
mount attempt will be rejected.
|
||||
? Only one file system can be mounted to a single mount point.
|
||||
? The Root of the mountable file system will be referenced by the name of the mount
|
||||
point after the mount is complete.
|
||||
? Mount table chain
|
||||
? Content of the mount table chain entry
|
||||
|
||||
struct rtems_filesystem_mount_table_entry_tt
|
||||
{
|
||||
Chain_Node Node;
|
||||
rtems_filesystem_location_info_t mt_point_node;
|
||||
rtems_filesystem_location_info_t mt_fs_root;
|
||||
int options;
|
||||
void *fs_info;
|
||||
|
||||
rtems_filesystem_limits_and_options_t pathconf_limits_and_options;
|
||||
|
||||
/*
|
||||
* When someone adds a mounted filesystem on a real device,
|
||||
* this will need to be used.
|
||||
*
|
||||
* The best option long term for this is probably an open file descriptor.
|
||||
*/
|
||||
char *dev;
|
||||
};
|
||||
|
||||
? Adding entries to the chain during mount()
|
||||
When a file system is mounted, its presence and location in the file system
|
||||
hierarchy is recorded in a dynamic list structure known as a chain. A unique
|
||||
rtems_filesystem_mount_table_entry_tt structure is logged for each file system that is
|
||||
mounted. This includes the base file system.
|
||||
|
||||
? Removing entries from the chain during unmount()
|
||||
When a file system is dismounted its entry in the mount table chain is extracted
|
||||
and the memory for this entry is freed.
|
||||
|
||||
|
||||
|
||||
17
doc/filesystem/path_eval.t
Normal file
17
doc/filesystem/path_eval.t
Normal file
@@ -0,0 +1,17 @@
|
||||
Pathname Evaluation
|
||||
|
||||
? Include graphic of the path evaluation process with Jennifer's explanations ???XXX
|
||||
? There are two pathname evaluation routines. The handler patheval() is called to find,
|
||||
verify privlages on and return information on a node that exists. The handler
|
||||
evalformake() is called to find, verify permissions, and return information on a node
|
||||
that is to become a parent. Additionally, evalformake() returns a pointer to the start
|
||||
of the name of the new node to be created.
|
||||
? Pathname evaluation is specific to a file system
|
||||
? Mechanics of crossing a mount point during the evaluation of a path name
|
||||
? Role of rtems_filesystem_location_info_t structure
|
||||
? Finding file system node information
|
||||
? Finding file system node handlers
|
||||
? Finding file system node operations table
|
||||
? Finding mount table entry for the file system that this node is part of
|
||||
|
||||
|
||||
Reference in New Issue
Block a user