blob: 64d0b79cd83d6c327030f0adc288ddd292f4b676 (
plain) (
tree)
|
|
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter 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.
|