From cf36b70e8dd8755e7dac6eb516169f586e78566d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 31 Dec 2014 10:56:05 +0100 Subject: IMFS: Replace node union with individual struct This reduces the average node size. Add and use IMFS_GENERIC_INITIALIZER(). --- testsuites/fstests/fsimfsgeneric01/init.c | 37 +++++++------------------------ 1 file changed, 8 insertions(+), 29 deletions(-) (limited to 'testsuites/fstests/fsimfsgeneric01/init.c') diff --git a/testsuites/fstests/fsimfsgeneric01/init.c b/testsuites/fstests/fsimfsgeneric01/init.c index 03e4c190d9..671ad14a48 100644 --- a/testsuites/fstests/fsimfsgeneric01/init.c +++ b/testsuites/fstests/fsimfsgeneric01/init.c @@ -262,12 +262,12 @@ static const rtems_filesystem_file_handlers_r node_handlers = { static IMFS_jnode_t *node_initialize( IMFS_jnode_t *node, - const IMFS_types_union *info + void *arg ) { test_state *state = NULL; - node = IMFS_node_initialize_generic(node, info); + node = IMFS_node_initialize_generic(node, arg); state = IMFS_generic_get_context_by_node(node); rtems_test_assert(*state == TEST_NEW); @@ -286,19 +286,19 @@ static IMFS_jnode_t *node_remove(IMFS_jnode_t *node) return node; } -static IMFS_jnode_t *node_destroy(IMFS_jnode_t *node) +static void node_destroy(IMFS_jnode_t *node) { test_state *state = IMFS_generic_get_context_by_node(node); rtems_test_assert(*state == TEST_REMOVED); *state = TEST_DESTROYED; - return node; + IMFS_node_destroy_default(node); } static const IMFS_node_control node_control = { - .imfs_type = IMFS_GENERIC, .handlers = &node_handlers, + .node_size = sizeof(IMFS_generic_t), .node_initialize = node_initialize, .node_remove = node_remove, .node_destroy = node_destroy @@ -370,7 +370,7 @@ static void test_imfs_make_generic_node(void) static IMFS_jnode_t *node_initialize_error( IMFS_jnode_t *node, - const IMFS_types_union *info + void *arg ) { errno = EIO; @@ -385,24 +385,14 @@ static IMFS_jnode_t *node_remove_inhibited(IMFS_jnode_t *node) return node; } -static IMFS_jnode_t *node_destroy_inhibited(IMFS_jnode_t *node) +static void node_destroy_inhibited(IMFS_jnode_t *node) { rtems_test_assert(false); - - return node; } -static const IMFS_node_control node_invalid_control = { - .imfs_type = IMFS_DIRECTORY, - .handlers = &node_handlers, - .node_initialize = node_initialize_error, - .node_remove = node_remove_inhibited, - .node_destroy = node_destroy_inhibited -}; - static const IMFS_node_control node_initialization_error_control = { - .imfs_type = IMFS_GENERIC, .handlers = &node_handlers, + .node_size = sizeof(IMFS_generic_t), .node_initialize = node_initialize_error, .node_remove = node_remove_inhibited, .node_destroy = node_destroy_inhibited @@ -421,17 +411,6 @@ static void test_imfs_make_generic_node_errors(void) rtems_resource_snapshot_take(&before); - errno = 0; - rv = IMFS_make_generic_node( - path, - S_IFCHR | S_IRWXU | S_IRWXG | S_IRWXO, - &node_invalid_control, - NULL - ); - rtems_test_assert(rv == -1); - rtems_test_assert(errno == EINVAL); - rtems_test_assert(rtems_resource_snapshot_check(&before)); - errno = 0; rv = IMFS_make_generic_node( path, -- cgit v1.2.3