diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-12-11 09:39:09 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-12-11 09:39:09 +0100 |
commit | 98e5c954bdb40d0e66d33eedcdd157fcbecbb114 (patch) | |
tree | e23f0c261956540f6a391610306c2c97b4496703 /cpukit/libfs/src/imfs/imfs_initsupp.c | |
parent | psxsignal06: Fix bug where mutex not locked and add EPERM error check (diff) | |
download | rtems-98e5c954bdb40d0e66d33eedcdd157fcbecbb114.tar.bz2 |
PR2160: imfs: Use ENOSYS for unsupported nodes
Return an error status with errno set to ENOSYS during node creation for
nodes not available in the current configuration.
Diffstat (limited to 'cpukit/libfs/src/imfs/imfs_initsupp.c')
-rw-r--r-- | cpukit/libfs/src/imfs/imfs_initsupp.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/cpukit/libfs/src/imfs/imfs_initsupp.c b/cpukit/libfs/src/imfs/imfs_initsupp.c index 7fe1e16b96..339a04f952 100644 --- a/cpukit/libfs/src/imfs/imfs_initsupp.c +++ b/cpukit/libfs/src/imfs/imfs_initsupp.c @@ -20,6 +20,7 @@ #include "imfs.h" +#include <errno.h> #include <stdlib.h> #include <string.h> @@ -139,6 +140,16 @@ void IMFS_node_free( const rtems_filesystem_location_info_t *loc ) } } +static IMFS_jnode_t *IMFS_node_initialize_enosys( + IMFS_jnode_t *node, + const IMFS_types_union *info +) +{ + errno = ENOSYS; + + return NULL; +} + IMFS_jnode_t *IMFS_node_initialize_default( IMFS_jnode_t *node, const IMFS_types_union *info @@ -159,10 +170,10 @@ IMFS_jnode_t *IMFS_node_destroy_default( IMFS_jnode_t *node ) return node; } -const IMFS_node_control IMFS_node_control_default = { +const IMFS_node_control IMFS_node_control_enosys = { .imfs_type = IMFS_INVALID_NODE, .handlers = &rtems_filesystem_handlers_default, - .node_initialize = IMFS_node_initialize_default, + .node_initialize = IMFS_node_initialize_enosys, .node_remove = IMFS_node_remove_default, .node_destroy = IMFS_node_destroy_default }; |