Changeset a9df916 in rtems


Ignore:
Timestamp:
Feb 8, 2015, 6:43:09 PM (5 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, master
Children:
547c2282
Parents:
a2f5c7e1
git-author:
Sebastian Huber <sebastian.huber@…> (02/08/15 18:43:09)
git-committer:
Sebastian Huber <sebastian.huber@…> (02/12/15 19:53:36)
Message:

IMFS: Add fine grained configuration

Remove miniIMFS. Statically initialize the root IMFS.

Add configuration options to disable individual
features of the root IMFS, e.g.

o CONFIGURE_IMFS_DISABLE_CHOWN,
o CONFIGURE_IMFS_DISABLE_FCHMOD,
o CONFIGURE_IMFS_DISABLE_LINK,
o CONFIGURE_IMFS_DISABLE_MKNOD,
o CONFIGURE_IMFS_DISABLE_MOUNT,
o CONFIGURE_IMFS_DISABLE_READLINK,
o CONFIGURE_IMFS_DISABLE_RENAME,
o CONFIGURE_IMFS_DISABLE_RMNOD,
o CONFIGURE_IMFS_DISABLE_SYMLINK,
o CONFIGURE_IMFS_DISABLE_UNMOUNT, and
o CONFIGURE_IMFS_DISABLE_UTIME.

Files:
8 added
2 deleted
21 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/beatnik/irq/irq_test_app.c

    ra2f5c7e1 ra9df916  
    3737#define CONFIGURE_MAXIMUM_TASKS            1
    3838#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
    39 #define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
    4039#include <confdefs.h>
    4140
  • cpukit/libfs/Makefile.am

    ra2f5c7e1 ra9df916  
    4242
    4343libimfs_a_SOURCES += src/imfs/deviceio.c \
    44     src/imfs/fifoimfs_init.c src/imfs/imfs_chown.c src/imfs/imfs_config.c \
     44    src/imfs/imfs_chown.c src/imfs/imfs_config.c \
    4545    src/imfs/imfs_creat.c src/imfs/imfs_directory.c \
    4646    src/imfs/imfs_eval.c src/imfs/imfs_fchmod.c \
     
    5757    src/imfs/imfs_stat.c src/imfs/imfs_stat_file.c src/imfs/imfs_symlink.c \
    5858    src/imfs/imfs_unmount.c src/imfs/imfs_utime.c src/imfs/ioman.c \
    59     src/imfs/imfs_memfile.c src/imfs/miniimfs_init.c src/imfs/imfs.h
     59    src/imfs/imfs_memfile.c src/imfs/imfs.h
    6060
    6161# POSIX FIFO/pipe
  • cpukit/libfs/src/imfs/imfs.h

    ra2f5c7e1 ra9df916  
    392392extern const IMFS_mknod_control IMFS_mknod_control_enosys;
    393393
    394 extern const rtems_filesystem_operations_table miniIMFS_ops;
    395 extern const rtems_filesystem_operations_table IMFS_ops;
    396 extern const rtems_filesystem_operations_table fifoIMFS_ops;
    397 
    398394extern const rtems_filesystem_limits_and_options_t  IMFS_LIMITS_AND_OPTIONS;
    399395
     
    403399
    404400extern int IMFS_initialize(
    405    rtems_filesystem_mount_table_entry_t *mt_entry,
    406    const void                           *data
    407 );
    408 
    409 extern int fifoIMFS_initialize(
    410   rtems_filesystem_mount_table_entry_t  *mt_entry,
    411   const void                            *data
    412 );
    413 
    414 extern int miniIMFS_initialize(
    415401   rtems_filesystem_mount_table_entry_t *mt_entry,
    416402   const void                           *data
     
    587573);
    588574
    589 extern bool IMFS_is_imfs_instance(
     575static inline bool IMFS_is_imfs_instance(
    590576  const rtems_filesystem_location_info_t *loc
    591 );
     577)
     578{
     579  return loc->mt_entry->ops->clonenod_h == IMFS_node_clone;
     580}
    592581
    593582/** @} */
  • cpukit/libfs/src/imfs/imfs_init.c

    ra2f5c7e1 ra9df916  
    2626#include <rtems/seterr.h>
    2727
    28 const rtems_filesystem_operations_table IMFS_ops = {
     28static const rtems_filesystem_operations_table IMFS_ops = {
    2929  .lock_h = rtems_filesystem_default_lock,
    3030  .unlock_h = rtems_filesystem_default_unlock,
  • cpukit/libfs/src/imfs/imfs_load_tar.c

    ra2f5c7e1 ra9df916  
    5959   );
    6060
    61    if (
    62      rootloc.mt_entry->ops != &IMFS_ops
    63        && rootloc.mt_entry->ops != &fifoIMFS_ops
    64    ) {
     61   if ( !IMFS_is_imfs_instance( &rootloc ) ) {
    6562     rv = -1;
    6663   }
  • cpukit/libfs/src/imfs/imfs_make_generic_node.c

    ra2f5c7e1 ra9df916  
    3838
    3939  return node;
    40 }
    41 
    42 bool IMFS_is_imfs_instance(
    43   const rtems_filesystem_location_info_t *loc
    44 )
    45 {
    46   const char *type = loc->mt_entry->type;
    47 
    48   return strcmp(type, RTEMS_FILESYSTEM_TYPE_IMFS) == 0
    49     || strcmp(type, RTEMS_FILESYSTEM_TYPE_MINIIMFS) == 0;
    5040}
    5141
  • cpukit/sapi/include/confdefs.h

    ra2f5c7e1 ra9df916  
    126126#endif
    127127
    128 /*
    129  *  If the application disables the filesystem, they will not need
    130  *  a mount table, so do not produce one.
    131  */
    132 #ifdef CONFIGURE_APPLICATION_DISABLE_FILESYSTEM
    133   #define CONFIGURE_HAS_OWN_MOUNT_TABLE
    134 #endif
    135 
    136128/**
    137129 * This macro defines the number of POSIX file descriptors allocated
     
    258250 *
    259251 *   List of available file systems. You can define as many as you like:
    260  *     CONFIGURE_FILESYSTEM_MINIIMFS - MiniIMFS, use DEVFS now
    261252 *     CONFIGURE_FILESYSTEM_IMFS     - In Memory File System (IMFS)
    262253 *     CONFIGURE_FILESYSTEM_DEVFS    - Device File System (DSVFS)
     
    272263 *    - If nothing is defined the base file system is the IMFS.
    273264 *
    274  *    - If CONFIGURE_APPLICATION_DISABLE_FILESYSTEM is defined all filesystem
    275  *      are disabled by force and an empty DEVFS is created.
    276  *
    277  *    - If CONFIGURE_USE_DEV_AS_BASE_FILESYSTEM is defined all filesystem
     265 *    - If CONFIGURE_APPLICATION_DISABLE_FILESYSTEM is defined all filesystems
     266 *      are disabled by force.
     267 *
     268 *    - If CONFIGURE_USE_DEV_AS_BASE_FILESYSTEM is defined all filesystems
    278269 *      are disabled by force and DEVFS is defined.
    279270 */
     
    286277   */
    287278  #ifdef CONFIGURE_FILESYSTEM_ALL
    288     #define CONFIGURE_FILESYSTEM_MINIIMFS
    289279    #define CONFIGURE_FILESYSTEM_IMFS
    290280    #define CONFIGURE_FILESYSTEM_DEVFS
     
    302292   */
    303293  #if defined(CONFIGURE_APPLICATION_DISABLE_FILESYSTEM)
    304      #if defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM) || \
    305          defined(CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM)
    306        #error "Filesystem disabled but a base filesystem configured."
     294     #if defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM)
     295       #error "Filesystem disabled and a base filesystem configured."
    307296     #endif
    308297
    309     #if defined(CONFIGURE_FILESYSTEM_MINIIMFS) || \
    310         defined(CONFIGURE_FILESYSTEM_IMFS) || \
    311         defined(CONFIGURE_FILESYSTEM_DEVFS) || \
    312         defined(CONFIGURE_FILESYSTEM_TFTPFS) || \
    313         defined(CONFIGURE_FILESYSTEM_FTPFS) || \
    314         defined(CONFIGURE_FILESYSTEM_NFS) || \
    315         defined(CONFIGURE_FILESYSTEM_DOSFS) || \
    316         defined(CONFIGURE_FILESYSTEM_RFS) || \
    317         defined(CONFIGURE_FILESYSTEM_JFFS2)
    318         #error "Configured filesystems but root filesystem was not IMFS!"
    319         #error "Filesystems could be disabled, DEVFS is root, or"
    320         #error "  miniIMFS is root!"
     298     #if defined(CONFIGURE_FILESYSTEM_IMFS) || \
     299       defined(CONFIGURE_FILESYSTEM_DEVFS) || \
     300       defined(CONFIGURE_FILESYSTEM_TFTPFS) || \
     301       defined(CONFIGURE_FILESYSTEM_FTPFS) || \
     302       defined(CONFIGURE_FILESYSTEM_NFS) || \
     303       defined(CONFIGURE_FILESYSTEM_DOSFS) || \
     304       defined(CONFIGURE_FILESYSTEM_RFS) || \
     305       defined(CONFIGURE_FILESYSTEM_JFFS2)
     306       #error "Filesystem disabled and a filesystem configured."
    321307     #endif
    322308  #endif
     
    329315    #if defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM)
    330316      #define CONFIGURE_FILESYSTEM_DEVFS
    331     #elif defined(CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM)
    332       #define CONFIGURE_FILESYSTEM_MINIIMFS
    333     #elif !defined(CONFIGURE_FILESYSTEM_IMFS)
    334       #define CONFIGURE_FILESYSTEM_IMFS
    335317    #endif
    336318  #endif
     
    356338
    357339/**
    358  * This defines the miniIMFS file system table entry.
    359  */
    360 #if !defined(CONFIGURE_FILESYSTEM_ENTRY_miniIMFS) && \
    361     defined(CONFIGURE_FILESYSTEM_MINIIMFS)
    362   #define CONFIGURE_FILESYSTEM_ENTRY_miniIMFS \
    363     { RTEMS_FILESYSTEM_TYPE_MINIIMFS, miniIMFS_initialize }
    364 #endif
    365 #endif
    366 
    367 #ifndef RTEMS_SCHEDSIM
    368 /**
    369340 * This defines the IMFS file system table entry.
    370341 */
    371342#if !defined(CONFIGURE_FILESYSTEM_ENTRY_IMFS) && \
    372     defined(CONFIGURE_FILESYSTEM_IMFS)
    373   #if CONFIGURE_MAXIMUM_FIFOS > 0 || CONFIGURE_MAXIMUM_PIPES > 0
    374     #define CONFIGURE_FILESYSTEM_ENTRY_IMFS \
    375       { RTEMS_FILESYSTEM_TYPE_IMFS, fifoIMFS_initialize }
    376   #else
    377     #define CONFIGURE_FILESYSTEM_ENTRY_IMFS \
    378       { RTEMS_FILESYSTEM_TYPE_IMFS, IMFS_initialize }
    379   #endif
     343  defined(CONFIGURE_FILESYSTEM_IMFS)
     344  #define CONFIGURE_FILESYSTEM_ENTRY_IMFS \
     345    { RTEMS_FILESYSTEM_TYPE_IMFS, IMFS_initialize }
    380346#endif
    381347#endif
     
    507473  #endif
    508474
    509 #ifndef RTEMS_SCHEDSIM
    510   #if defined(CONFIGURE_FILESYSTEM_IMFS) || \
    511       defined(CONFIGURE_FILESYSTEM_MINIIMFS)
    512     int imfs_rq_memfile_bytes_per_block = CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK;
    513   #endif
    514 #endif
    515 
    516475  /**
    517476   * Table termination record.
     
    520479
    521480#ifndef RTEMS_SCHEDSIM
     481  #if !defined(CONFIGURE_APPLICATION_DISABLE_FILESYSTEM) && \
     482    !defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM)
     483    int imfs_rq_memfile_bytes_per_block =
     484      CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK;
     485  #endif
     486
    522487  /**
    523488   * The default file system table. Must be terminated with the NULL entry if
    524489   * you provide your own.
    525490   */
    526   #ifndef CONFIGURE_HAS_OWN_FILESYSTEM_TABLE
     491  #if !defined(CONFIGURE_HAS_OWN_FILESYSTEM_TABLE) && \
     492    !defined(CONFIGURE_APPLICATION_DISABLE_FILESYSTEM)
    527493    const rtems_filesystem_table_t rtems_filesystem_table[] = {
    528       #if defined(CONFIGURE_FILESYSTEM_MINIIMFS) && \
    529           defined(CONFIGURE_FILESYSTEM_ENTRY_miniIMFS)
    530         CONFIGURE_FILESYSTEM_ENTRY_miniIMFS,
     494      #if !defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM)
     495        { "/", IMFS_initialize_support },
    531496      #endif
    532497      #if defined(CONFIGURE_FILESYSTEM_IMFS) && \
     
    566531  #endif
    567532
    568   #ifndef CONFIGURE_HAS_OWN_MOUNT_TABLE
     533  #if !defined(CONFIGURE_HAS_OWN_MOUNT_TABLE) && \
     534    !defined(CONFIGURE_APPLICATION_DISABLE_FILESYSTEM)
    569535    #if defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM)
    570536      static devFS_node devFS_root_filesystem_nodes [CONFIGURE_MAXIMUM_DEVICES];
     
    573539        CONFIGURE_MAXIMUM_DEVICES
    574540      };
    575     #endif
     541    #else
     542      static IMFS_fs_info_t _Configure_IMFS_fs_info;
     543
     544      static const rtems_filesystem_operations_table _Configure_IMFS_ops = {
     545        rtems_filesystem_default_lock,
     546        rtems_filesystem_default_unlock,
     547        IMFS_eval_path,
     548        #ifdef CONFIGURE_IMFS_DISABLE_LINK
     549          rtems_filesystem_default_link,
     550        #else
     551          IMFS_link,
     552        #endif
     553        rtems_filesystem_default_are_nodes_equal,
     554        #ifdef CONFIGURE_IMFS_DISABLE_MKNOD
     555          rtems_filesystem_default_mknod,
     556        #else
     557          IMFS_mknod,
     558        #endif
     559        #ifdef CONFIGURE_IMFS_DISABLE_RMNOD
     560          rtems_filesystem_default_rmnod,
     561        #else
     562          IMFS_rmnod,
     563        #endif
     564        #ifdef CONFIGURE_IMFS_DISABLE_FCHMOD
     565          rtems_filesystem_default_fchmod,
     566        #else
     567          IMFS_fchmod,
     568        #endif
     569        #ifdef CONFIGURE_IMFS_DISABLE_CHOWN
     570          rtems_filesystem_default_chown,
     571        #else
     572          IMFS_chown,
     573        #endif
     574        IMFS_node_clone,
     575        IMFS_node_free,
     576        #ifdef CONFIGURE_IMFS_DISABLE_MOUNT
     577          rtems_filesystem_default_mount,
     578        #else
     579          IMFS_mount,
     580        #endif
     581        #ifdef CONFIGURE_IMFS_DISABLE_UNMOUNT
     582          rtems_filesystem_default_unmount,
     583        #else
     584          IMFS_unmount,
     585        #endif
     586        rtems_filesystem_default_fsunmount,
     587        #ifdef CONFIGURE_IMFS_DISABLE_UTIME
     588          rtems_filesystem_default_utime,
     589        #else
     590          IMFS_utime,
     591        #endif
     592        #ifdef CONFIGURE_IMFS_DISABLE_SYMLINK
     593          rtems_filesystem_default_symlink,
     594        #else
     595          IMFS_symlink,
     596        #endif
     597        #ifdef CONFIGURE_IMFS_DISABLE_READLINK
     598          rtems_filesystem_default_readlink,
     599        #else
     600          IMFS_readlink,
     601        #endif
     602        #ifdef CONFIGURE_IMFS_DISABLE_RENAME
     603          rtems_filesystem_default_rename,
     604        #else
     605          IMFS_rename,
     606        #endif
     607        rtems_filesystem_default_statvfs
     608      };
     609
     610      static const IMFS_mknod_controls _Configure_IMFS_mknod_controls = {
     611        &IMFS_mknod_control_directory,
     612        &IMFS_mknod_control_device,
     613        &IMFS_mknod_control_memfile,
     614        #if CONFIGURE_MAXIMUM_FIFOS > 0 || CONFIGURE_MAXIMUM_PIPES > 0
     615          &IMFS_mknod_control_fifo
     616        #else
     617          &IMFS_mknod_control_enosys
     618        #endif
     619      };
     620
     621      static const IMFS_mount_data _Configure_IMFS_mount_data = {
     622        &_Configure_IMFS_fs_info,
     623        &_Configure_IMFS_ops,
     624        &_Configure_IMFS_mknod_controls
     625      };
     626    #endif
     627
    576628    const rtems_filesystem_mount_configuration
    577629      rtems_filesystem_root_configuration = {
     
    580632      #if defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM)
    581633        RTEMS_FILESYSTEM_TYPE_DEVFS,
    582       #elif defined(CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM)
    583         RTEMS_FILESYSTEM_TYPE_MINIIMFS,
    584634      #else
    585         RTEMS_FILESYSTEM_TYPE_IMFS,
     635        "/",
    586636      #endif
    587637      RTEMS_FILESYSTEM_READ_WRITE,
     
    589639        &devFS_root_filesystem_data
    590640      #else
    591         NULL
     641        &_Configure_IMFS_mount_data
    592642      #endif
    593643    };
  • doc/user/conf.t

    ra2f5c7e1 ra9df916  
    25782578
    25792579@c
    2580 @c === CONFIGURE_USE_MINIIMFS_AS_BASE_SYSTEM ===
    2581 @c
    2582 @subsection Configure miniIMFS as Root File System
    2583 
    2584 @findex CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
    2585 
    2586 @table @b
    2587 @item CONSTANT:
    2588 @code{CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM}
    2589 
    2590 @item DATA TYPE:
    2591 Boolean feature macro.
    2592 
    2593 @item RANGE:
    2594 Defined or undefined.
    2595 
    2596 @item DEFAULT VALUE:
    2597 This is not defined by default. If no other root file system
    2598 configuration parameters are specified, the IMFS will be used as the
    2599 root file system.
    2600 
    2601 @end table
    2602 
    2603 @subheading DESCRIPTION:
    2604 This configuration parameter is defined if the application wishes to use
    2605 the reduced functionality miniIMFS as the root filesystem. This reduced
    2606 version of the full IMFS does not include the capability to mount other
    2607 file system types, but it does support directories, device nodes, and
    2608 symbolic links.
    2609 
    2610 @subheading NOTES:
    2611 The miniIMFS nodes and is smaller in executable code size than the full IMFS.
    2612 
    2613 @c
    26142580@c === CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM ===
    26152581@c
     
    27102676@subheading NOTES:
    27112677None.
     2678
     2679@c
     2680@c === CONFIGURE_IMFS_DISABLE_CHOWN ===
     2681@c
     2682@subsection Disable change owner support of root IMFS
     2683
     2684@findex CONFIGURE_IMFS_DISABLE_CHOWN
     2685
     2686@table @b
     2687@item CONSTANT:
     2688@code{CONFIGURE_IMFS_DISABLE_CHOWN}
     2689
     2690@item DATA TYPE:
     2691Boolean feature macro.
     2692
     2693@item RANGE:
     2694Defined or undefined.
     2695
     2696@item DEFAULT VALUE:
     2697This is not defined by default.
     2698
     2699@end table
     2700
     2701@subheading DESCRIPTION:
     2702In case this configuration option is defined, then the support to change the
     2703owner is disabled in the root IMFS.
     2704
     2705@c
     2706@c === CONFIGURE_IMFS_DISABLE_FCHMOD ===
     2707@c
     2708@subsection Disable change mode support of root IMFS
     2709
     2710@findex CONFIGURE_IMFS_DISABLE_FCHMOD
     2711
     2712@table @b
     2713@item CONSTANT:
     2714@code{CONFIGURE_IMFS_DISABLE_FCHMOD}
     2715
     2716@item DATA TYPE:
     2717Boolean feature macro.
     2718
     2719@item RANGE:
     2720Defined or undefined.
     2721
     2722@item DEFAULT VALUE:
     2723This is not defined by default.
     2724
     2725@end table
     2726
     2727@subheading DESCRIPTION:
     2728In case this configuration option is defined, then the support to change the
     2729mode is disabled in the root IMFS.
     2730
     2731@c
     2732@c === CONFIGURE_IMFS_DISABLE_UTIME ===
     2733@c
     2734@subsection Disable change times support of root IMFS
     2735
     2736@findex CONFIGURE_IMFS_DISABLE_UTIME
     2737
     2738@table @b
     2739@item CONSTANT:
     2740@code{CONFIGURE_IMFS_DISABLE_UTIME}
     2741
     2742@item DATA TYPE:
     2743Boolean feature macro.
     2744
     2745@item RANGE:
     2746Defined or undefined.
     2747
     2748@item DEFAULT VALUE:
     2749This is not defined by default.
     2750
     2751@end table
     2752
     2753@subheading DESCRIPTION:
     2754In case this configuration option is defined, then the support to change times
     2755is disabled in the root IMFS.
     2756
     2757@c
     2758@c === CONFIGURE_IMFS_DISABLE_LINK ===
     2759@c
     2760@subsection Disable create hard link support of root IMFS
     2761
     2762@findex CONFIGURE_IMFS_DISABLE_LINK
     2763
     2764@table @b
     2765@item CONSTANT:
     2766@code{CONFIGURE_IMFS_DISABLE_LINK}
     2767
     2768@item DATA TYPE:
     2769Boolean feature macro.
     2770
     2771@item RANGE:
     2772Defined or undefined.
     2773
     2774@item DEFAULT VALUE:
     2775This is not defined by default.
     2776
     2777@end table
     2778
     2779@subheading DESCRIPTION:
     2780In case this configuration option is defined, then the support to create hard
     2781links is disabled in the root IMFS.
     2782
     2783@c
     2784@c === CONFIGURE_IMFS_DISABLE_SYMLINK ===
     2785@c
     2786@subsection Disable create symbolic link support of root IMFS
     2787
     2788@findex CONFIGURE_IMFS_DISABLE_SYMLINK
     2789
     2790@table @b
     2791@item CONSTANT:
     2792@code{CONFIGURE_IMFS_DISABLE_SYMLINK}
     2793
     2794@item DATA TYPE:
     2795Boolean feature macro.
     2796
     2797@item RANGE:
     2798Defined or undefined.
     2799
     2800@item DEFAULT VALUE:
     2801This is not defined by default.
     2802
     2803@end table
     2804
     2805@subheading DESCRIPTION:
     2806In case this configuration option is defined, then the support to create
     2807symbolic links is disabled in the root IMFS.
     2808
     2809@c
     2810@c === CONFIGURE_IMFS_DISABLE_READLINK ===
     2811@c
     2812@subsection Disable read symbolic link support of root IMFS
     2813
     2814@findex CONFIGURE_IMFS_DISABLE_READLINK
     2815
     2816@table @b
     2817@item CONSTANT:
     2818@code{CONFIGURE_IMFS_DISABLE_READLINK}
     2819
     2820@item DATA TYPE:
     2821Boolean feature macro.
     2822
     2823@item RANGE:
     2824Defined or undefined.
     2825
     2826@item DEFAULT VALUE:
     2827This is not defined by default.
     2828
     2829@end table
     2830
     2831@subheading DESCRIPTION:
     2832In case this configuration option is defined, then the support to read symbolic
     2833links is disabled in the root IMFS.
     2834
     2835@c
     2836@c === CONFIGURE_IMFS_DISABLE_RENAME ===
     2837@c
     2838@subsection Disable rename support of root IMFS
     2839
     2840@findex CONFIGURE_IMFS_DISABLE_RENAME
     2841
     2842@table @b
     2843@item CONSTANT:
     2844@code{CONFIGURE_IMFS_DISABLE_RENAME}
     2845
     2846@item DATA TYPE:
     2847Boolean feature macro.
     2848
     2849@item RANGE:
     2850Defined or undefined.
     2851
     2852@item DEFAULT VALUE:
     2853This is not defined by default.
     2854
     2855@end table
     2856
     2857@subheading DESCRIPTION:
     2858In case this configuration option is defined, then the support to rename nodes
     2859is disabled in the root IMFS.
     2860
     2861@c
     2862@c === CONFIGURE_IMFS_DISABLE_MOUNT ===
     2863@c
     2864@subsection Disable mount support of root IMFS
     2865
     2866@findex CONFIGURE_IMFS_DISABLE_MOUNT
     2867
     2868@table @b
     2869@item CONSTANT:
     2870@code{CONFIGURE_IMFS_DISABLE_MOUNT}
     2871
     2872@item DATA TYPE:
     2873Boolean feature macro.
     2874
     2875@item RANGE:
     2876Defined or undefined.
     2877
     2878@item DEFAULT VALUE:
     2879This is not defined by default.
     2880
     2881@end table
     2882
     2883@subheading DESCRIPTION:
     2884In case this configuration option is defined, then the support to mount other
     2885file systems is disabled in the root IMFS.
     2886
     2887@c
     2888@c === CONFIGURE_IMFS_DISABLE_UNMOUNT ===
     2889@c
     2890@subsection Disable unmount support of root IMFS
     2891
     2892@findex CONFIGURE_IMFS_DISABLE_UNMOUNT
     2893
     2894@table @b
     2895@item CONSTANT:
     2896@code{CONFIGURE_IMFS_DISABLE_UNMOUNT}
     2897
     2898@item DATA TYPE:
     2899Boolean feature macro.
     2900
     2901@item RANGE:
     2902Defined or undefined.
     2903
     2904@item DEFAULT VALUE:
     2905This is not defined by default.
     2906
     2907@end table
     2908
     2909@subheading DESCRIPTION:
     2910In case this configuration option is defined, then the support to unmount file
     2911systems is disabled in the root IMFS.
     2912
     2913@c
     2914@c === CONFIGURE_IMFS_DISABLE_MKNOD ===
     2915@c
     2916@subsection Disable make nodes support of root IMFS
     2917
     2918@findex CONFIGURE_IMFS_DISABLE_MKNOD
     2919
     2920@table @b
     2921@item CONSTANT:
     2922@code{CONFIGURE_IMFS_DISABLE_MKNOD}
     2923
     2924@item DATA TYPE:
     2925Boolean feature macro.
     2926
     2927@item RANGE:
     2928Defined or undefined.
     2929
     2930@item DEFAULT VALUE:
     2931This is not defined by default.
     2932
     2933@end table
     2934
     2935@subheading DESCRIPTION:
     2936In case this configuration option is defined, then the support to make
     2937directories, devices, regular files and FIFOs is disabled in the root IMFS.
     2938
     2939@c
     2940@c === CONFIGURE_IMFS_DISABLE_RMNOD ===
     2941@c
     2942@subsection Disable remove nodes support of root IMFS
     2943
     2944@findex CONFIGURE_IMFS_DISABLE_RMNOD
     2945
     2946@table @b
     2947@item CONSTANT:
     2948@code{CONFIGURE_IMFS_DISABLE_RMNOD}
     2949
     2950@item DATA TYPE:
     2951Boolean feature macro.
     2952
     2953@item RANGE:
     2954Defined or undefined.
     2955
     2956@item DEFAULT VALUE:
     2957This is not defined by default.
     2958
     2959@end table
     2960
     2961@subheading DESCRIPTION:
     2962In case this configuration option is defined, then the support to remove nodes
     2963is disabled in the root IMFS.
    27122964
    27132965@c
  • testsuites/fstests/Makefile.am

    ra2f5c7e1 ra9df916  
    22
    33_SUBDIRS =
     4_SUBDIRS += fsimfsconfig02
     5_SUBDIRS += fsimfsconfig01
    46_SUBDIRS += fsdosfsname01
    57_SUBDIRS += fsdosfswrite01
  • testsuites/fstests/configure.ac

    ra2f5c7e1 ra9df916  
    7878# Explicitly list all Makefiles here
    7979AC_CONFIG_FILES([Makefile
     80fsimfsconfig02/Makefile
     81fsimfsconfig01/Makefile
    8082fsdosfsname01/Makefile
    8183fsdosfswrite01/Makefile
  • testsuites/fstests/fsimfsgeneric01/init.c

    ra2f5c7e1 ra9df916  
    397397};
    398398
     399static const rtems_filesystem_operations_table *imfs_ops;
     400
     401static int other_clone(rtems_filesystem_location_info_t *loc)
     402{
     403  return (*imfs_ops->clonenod_h)(loc);
     404}
     405
    399406static void test_imfs_make_generic_node_errors(void)
    400407{
     
    404411  rtems_filesystem_mount_table_entry_t *mt_entry =
    405412    (rtems_filesystem_mount_table_entry_t *) rtems_chain_first(chain);
    406   const char *type = mt_entry->type;
     413  rtems_filesystem_operations_table other_ops;
    407414  void *opaque = NULL;
    408415  rtems_resource_snapshot before;
     
    422429
    423430  errno = 0;
    424   mt_entry->type = "XXX";
     431  imfs_ops = mt_entry->ops;
     432  other_ops = *imfs_ops;
     433  other_ops.clonenod_h = other_clone;
     434  mt_entry->ops = &other_ops;
    425435  rv = IMFS_make_generic_node(
    426436    path,
     
    429439    NULL
    430440  );
    431   mt_entry->type = type;
     441  mt_entry->ops = imfs_ops;
    432442  rtems_test_assert(rv == -1);
    433443  rtems_test_assert(errno == ENOTSUP);
  • testsuites/fstests/mimfs_support/fs_support.c

    ra2f5c7e1 ra9df916  
    6565#define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS  1
    6666
     67#define CONFIGURE_FILESYSTEM_IMFS
     68
    6769#define CONFIGURE_INIT
    6870#include <rtems/confdefs.h>
  • testsuites/libtests/tar03/init.c

    ra2f5c7e1 ra9df916  
    3535    rtems_test_exit(1);
    3636  }
    37 
    38   puts("Loading tarfs image with miniIMFS as root filesystem - ERROR");
    39   sc = rtems_tarfs_load("/",(void *)rtems_task_create, 72);
    40   if (sc != -1) {
    41     printf ("error: untar failed returned %d\n", sc);
    42     rtems_test_exit(1);
    43   }
    4437}
    4538
     
    6659#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
    6760
    68 #define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
    69 
    7061#define CONFIGURE_INIT
    7162#include <rtems/confdefs.h>
  • testsuites/psxtests/psxfile01/main.c

    ra2f5c7e1 ra9df916  
    3636#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 6
    3737
     38#define CONFIGURE_FILESYSTEM_IMFS
     39
    3840#define CONFIGURE_MAXIMUM_TASKS 1
    3941#define CONFIGURE_INIT_TASK_STACK_SIZE (2 * RTEMS_MINIMUM_STACK_SIZE)
  • testsuites/psxtests/psximfs02/init.c

    ra2f5c7e1 ra9df916  
    209209#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
    210210
     211#define CONFIGURE_FILESYSTEM_IMFS
     212
    211213#define CONFIGURE_MAXIMUM_TASKS                  1
    212214#define CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK   15
  • testsuites/psxtests/psxmount/main.c

    ra2f5c7e1 ra9df916  
    3434#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 10
    3535
     36#define CONFIGURE_FILESYSTEM_IMFS
     37
    3638#define CONFIGURE_MAXIMUM_TASKS 1
    3739
  • testsuites/psxtests/psxreaddir/main.c

    ra2f5c7e1 ra9df916  
    3232#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 10
    3333
     34#define CONFIGURE_FILESYSTEM_IMFS
     35
    3436#define CONFIGURE_MAXIMUM_TASKS 1
    3537
  • testsuites/psxtests/psxstat/main.c

    ra2f5c7e1 ra9df916  
    3636#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 10
    3737
     38#define CONFIGURE_FILESYSTEM_IMFS
     39
    3840#define CONFIGURE_MAXIMUM_TASKS 1
    3941
  • testsuites/samples/iostream/system.h

    ra2f5c7e1 ra9df916  
    3232#define CONFIGURE_EXTRA_TASK_STACKS       RTEMS_MINIMUM_STACK_SIZE
    3333
    34 /* Only remove when this macro is removed from confdefs.h. It tests it. */
    35 #define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
    36 
    3734#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
    3835
  • testsuites/sptests/sp47/init.c

    ra2f5c7e1 ra9df916  
    7575#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
    7676
    77 #define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
    78 
    7977#define CONFIGURE_INIT
    8078#include <rtems/confdefs.h>
  • testsuites/sptests/sp48/init.c

    ra2f5c7e1 ra9df916  
    103103#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
    104104
    105 #define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
    106 
    107105#define CONFIGURE_INIT
    108106#include <rtems/confdefs.h>
Note: See TracChangeset for help on using the changeset viewer.