The mount table chain is a dynamic list of structures that describe
mounted filesystems a specific points in the filesystem hierarchy. It is
initialized to an empty state during the base filesystem initialization.
The mount operation will add entries to the mount table chain. The
un-mount operation will remove entries from the mount table chain.
Each entry in the mount table chain is of the following type:
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;
};
Node
The Node is used to produce a linked list of mount table entry nodes.
mt_point_node
The mt_point_node contains all information necessary to access the
directory where a filesystem is mounted onto. This element may contain
memory that is allocated during a path evaluation of the filesystem
containing the mountpoint directory. The generic code allows this
memory to be returned by unmount when the filesystem identified by
mt_fs_root is unmounted.
mt_fs_root
The mt_fs_root contains all information necessary to identify the root
of the mounted filesystem. The user is never allowed access to this
node by the generic code, but it is used to identify to the mounted
filesystem where to start evaluation of pathnames at.
options
XXX
fs_info
The fs_info element is a location available for use by the mounted file
system to identify unique things applicable to this instance of the file
system. For example the IMFS uses this space to provide node
identification that is unique for each instance (mounting) of the filesystem.
pathconf_limits_and_options
XXX
dev
This character string represents the device where the filesystem will reside.