mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
First cut at merging.
This commit is contained in:
@@ -8,45 +8,61 @@
|
|||||||
|
|
||||||
@chapter Mounting and Unmounting File Systems
|
@chapter Mounting and Unmounting File Systems
|
||||||
|
|
||||||
? Characteristics of a Mount Point
|
@section Mount Points
|
||||||
? 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 following is the list of the characteristics of a mount point:
|
||||||
? The task must have read/write/execute permissions to the mount point or the
|
|
||||||
mount attempt will be rejected.
|
@itemize @bullet
|
||||||
? 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
|
@item The mount point must be a directory. It may have files and other
|
||||||
point after the mount is complete.
|
directories under it. These files and directories will be hidden when the
|
||||||
? Mount table chain
|
file system is mounted.
|
||||||
? Content of the mount table chain entry
|
|
||||||
|
@item The task must have read/write/execute permissions to the mount point
|
||||||
|
or the mount attempt will be rejected.
|
||||||
|
|
||||||
|
@item Only one file system can be mounted to a single mount point.
|
||||||
|
|
||||||
|
@item The Root of the mountable file system will be referenced by the name
|
||||||
|
of the mount point after the mount is complete.
|
||||||
|
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
@section Mount Table Chain
|
||||||
|
|
||||||
|
Each entry in the mount table chain is of the following type:
|
||||||
|
|
||||||
struct rtems_filesystem_mount_table_entry_tt
|
struct rtems_filesystem_mount_table_entry_tt
|
||||||
@{
|
@{
|
||||||
Chain_Node Node;
|
Chain_Node Node;
|
||||||
rtems_filesystem_location_info_t mt_point_node;
|
rtems_filesystem_location_info_t mt_point_node;
|
||||||
rtems_filesystem_location_info_t mt_fs_root;
|
rtems_filesystem_location_info_t mt_fs_root;
|
||||||
int options;
|
int options;
|
||||||
void *fs_info;
|
void *fs_info;
|
||||||
|
|
||||||
rtems_filesystem_limits_and_options_t pathconf_limits_and_options;
|
rtems_filesystem_limits_and_options_t pathconf_limits_and_options;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* When someone adds a mounted filesystem on a real device,
|
* When someone adds a mounted filesystem on a real device,
|
||||||
* this will need to be used.
|
* this will need to be used.
|
||||||
*
|
*
|
||||||
* The best option long term for this is probably an open file descriptor.
|
* The best option long term for this is probably an
|
||||||
|
* open file descriptor.
|
||||||
*/
|
*/
|
||||||
char *dev;
|
char *dev;
|
||||||
@};
|
@};
|
||||||
|
|
||||||
? Adding entries to the chain during mount()
|
@section 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 mounted, its presence and location in the file
|
||||||
When a file system is dismounted its entry in the mount table chain is extracted
|
system hierarchy is recorded in a dynamic list structure known as a chain.
|
||||||
and the memory for this entry is freed.
|
A unique rtems_filesystem_mount_table_entry_tt structure is logged for
|
||||||
|
each file system that is mounted. This includes the base file system.
|
||||||
|
|
||||||
|
@section 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.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user