mars/Kconfig
2013-01-20 23:23:32 +01:00

178 lines
4.1 KiB
Plaintext

#
# MARS configuration
#
config MARS
tristate "storage system MARS (EXPERIMENTAL)"
default n
---help---
Experimental storage System. Only compile as a module!
config MARS_BIGMODULE
tristate "compile all MARS modules into a single kernel module"
depends on MARS
default m
select MARS_HAVE_BIGMODULE
---help---
Normally ON. Switch off only for EXPERIMENTS!
config MARS_LOGFILE
string "full path to the logfile"
depends on MARS
default "/mars/log.txt"
---help---
Path to the logfile where all MARS messages go to.
The logfile must already exist in order to be appended.
Logiles can be rotated by renaming them and creating
a new empty file in place of the old one.
When none exists, messages are either reported to syslog when
CONFIG_MARS_USE_SYSLOG is set, or else MARS will be qiet.
config MARS_USE_SYSLOG
bool "use syslog for messages"
depends on MARS
default n
---help---
Normally OFF.
When switched on (and no logfile exists), the syslog
may get flooded by printk() messages, leading to performance
problems if remote syslog forwarding is enabled (and possibly
in other cases). Thus we recommend to prefer file logging.
When this option is off, the logfile will be used (if one exists).
config MARS_MEM_PREALLOC
bool "avoid memory fragmentation by preallocation"
depends on MARS
default y
---help---
Normally ON. Switch off only for EXPERIMENTS!
#config MARS_HUNG
# bool "hangup on kernel stacktrace (EXPERIMENTAL!!!)"
# depends on MARS && MARS_BIGMODULE!=m
# default n
# ---help---
# Normally OFF. Switch on only for EXPERIMENTS!
config MARS_LOGROT
bool "allow logrotate during operation"
depends on MARS
default y
---help---
Normally ON. Switch off only for EXPERIMENTS!
config MARS_MIN_SPACE
bool "check for filesystem overflow in /mars"
depends on MARS
default y
---help---
Normally ON. Switch off only for EXPERIMENTS!
config MARS_PREFER_SIO
bool "prefer sio bricks instead of aio"
depends on MARS
default y
---help---
Normally ON for production systems.
OFF gives better performance (in most cases), but is
currently less stable.
##### mostly obsolete
config MARS_DUMMY
tristate "MARS dummy brick"
depends on MARS && MARS_BIGMODULE!=m
default m
---help---
Experimental storage System.
config MARS_CHECK
tristate "MARS check brick"
depends on MARS && MARS_BIGMODULE!=m
default m
---help---
Experimental storage System.
config MARS_IF
tristate "interface to a linux device"
depends on MARS && MARS_BIGMODULE!=m
default m
---help---
Experimental storage System.
config MARS_BIO
tristate "interface to blkdev via kernel BIO"
depends on MARS && MARS_BIGMODULE!=m
default m
---help---
Experimental storage System.
config MARS_AIO
tristate "interface to a linux file (Asynchronous IO)"
depends on MARS && MARS_BIGMODULE!=m
default m
---help---
Experimental storage System.
config MARS_SIO
tristate "interface to a linux file, synchronous (currently unused)"
depends on MARS && MARS_BIGMODULE!=m
default m
---help---
Experimental storage System.
config MARS_BUF
tristate "buffer brick (currently unused)"
depends on MARS && MARS_BIGMODULE!=m
default m
---help---
Experimental storage System.
config MARS_USEBUF
tristate "usebuf brick (currently unused)"
depends on MARS && MARS_BIGMODULE!=m
default m
---help---
Experimental storage System.
config MARS_TRANS_LOGGER
tristate "transaction logger"
depends on MARS && MARS_BIGMODULE!=m
default m
---help---
Experimental storage System.
config MARS_SERVER
tristate "server brick"
depends on MARS && MARS_BIGMODULE!=m
default m
---help---
Experimental storage System.
config MARS_CLIENT
tristate "client brick"
depends on MARS && MARS_BIGMODULE!=m
default m
---help---
Experimental storage System.
config MARS_COPY
tristate "copy brick"
depends on MARS && MARS_BIGMODULE!=m
default m
---help---
Experimental storage System.
config MARS_LIGHT
tristate "MARS Light main (protoype, will be replaced)"
depends on MARS && MARS_BIGMODULE!=m
default m
---help---
Experimental storage System.
# the following is used as an internal proprocessor symbol
config MARS_HAVE_BIGMODULE
bool