summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/imfs/imfs_initsupp.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-02-05 16:14:59 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-02-12 20:53:34 +0100
commit24ec25d2aee6dde7b572f27694e9a62e34a6603f (patch)
tree8ddad5b14af063c867e630fe5234f9b0078a539c /cpukit/libfs/src/imfs/imfs_initsupp.c
parentFilesystem: Use ENOTSUP for default mount/unmount (diff)
downloadrtems-24ec25d2aee6dde7b572f27694e9a62e34a6603f.tar.bz2
IMFS: Introduce IMFS_mknod_control
Drop IMFS_node_control::node_size field and add node_size parameter to IMFS_allocate_node() and IMFS_create_node(). This reduces the size of generic nodes.
Diffstat (limited to 'cpukit/libfs/src/imfs/imfs_initsupp.c')
-rw-r--r--cpukit/libfs/src/imfs/imfs_initsupp.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/cpukit/libfs/src/imfs/imfs_initsupp.c b/cpukit/libfs/src/imfs/imfs_initsupp.c
index 563d6203c3..9881d84e2c 100644
--- a/cpukit/libfs/src/imfs/imfs_initsupp.c
+++ b/cpukit/libfs/src/imfs/imfs_initsupp.c
@@ -58,7 +58,7 @@ static int IMFS_determine_bytes_per_block(
int IMFS_initialize_support(
rtems_filesystem_mount_table_entry_t *mt_entry,
const rtems_filesystem_operations_table *op_table,
- const IMFS_node_control *const node_controls [IMFS_TYPE_COUNT]
+ const IMFS_mknod_control *const mknod_controls[ IMFS_TYPE_COUNT ]
)
{
int rv = 0;
@@ -68,14 +68,14 @@ int IMFS_initialize_support(
IMFS_jnode_t *root_node;
memcpy(
- fs_info->node_controls,
- node_controls,
- sizeof( fs_info->node_controls )
+ fs_info->mknod_controls,
+ mknod_controls,
+ sizeof( fs_info->mknod_controls )
);
root_node = IMFS_allocate_node(
- fs_info,
- fs_info->node_controls [IMFS_DIRECTORY],
+ &fs_info->mknod_controls[ IMFS_DIRECTORY ]->node_control,
+ fs_info->mknod_controls[ IMFS_DIRECTORY ]->node_size,
"",
0,
(S_IFDIR | 0755),
@@ -165,10 +165,12 @@ void IMFS_node_destroy_default( IMFS_jnode_t *node )
free( node );
}
-const IMFS_node_control IMFS_node_control_enosys = {
- .handlers = &rtems_filesystem_handlers_default,
- .node_size = sizeof(IMFS_jnode_t),
- .node_initialize = IMFS_node_initialize_enosys,
- .node_remove = IMFS_node_remove_default,
- .node_destroy = IMFS_node_destroy_default
+const IMFS_mknod_control IMFS_mknod_control_enosys = {
+ {
+ .handlers = &rtems_filesystem_handlers_default,
+ .node_initialize = IMFS_node_initialize_enosys,
+ .node_remove = IMFS_node_remove_default,
+ .node_destroy = IMFS_node_destroy_default
+ },
+ .node_size = sizeof( IMFS_jnode_t )
};