Mke2fs

Parses /etc/mke2fs.conf

Author: Raphael Pinson rap.nosp@m.hink@gmai.nosp@m.l.com

Summary
Mke2fsParses /etc/mke2fs.conf
ReferenceThis lens tries to keep as close as possible to `man 5 mke2fs.conf` where possible.
LicenseThis file is licenced under the LGPL v2+, like the rest of Augeas.
Lens UsageTo be documented
Configuration filesThis lens applies to /etc/mke2fs.conf.
USEFUL PRIMITIVES
comment
sep
empty
RECORD TYPES
entryA generic entry for lens lns
list_stoA list of values with given lens
entry_stoStore a regexp as entry value
COMMON ENTRIES
common_entryEntries shared between defaults and fs_types sections
DEFAULTS SECTION
defaults_entryPossible entries under the defaults section
defaults_titleTitle for the defaults section
defaultsA defaults section
FS_TYPES SECTION
fs_types_entryPossible entries under a fs_types_record group
fs_types_recordFs group records under the fs_types section
fs_types_titleTitle for the fs_types section
fs_typesA fs_types section
LENS AND FILTER
lnsThe mke2fs lens
filter

Reference

This lens tries to keep as close as possible to `man 5 mke2fs.conf` where possible.

License

This file is licenced under the LGPL v2+, like the rest of Augeas.

Lens Usage

To be documented

Configuration files

This lens applies to /etc/mke2fs.conf.  See filter.

USEFUL PRIMITIVES

comment

let comment = IniFile.comment IniFile.comment_re IniFile.comment_default

sep

let sep = IniFile.sep /=[ \t]*/ "="

empty

let empty = IniFile.empty

RECORD TYPES

entry

let entry (kw:regexp) (lns:lens) = Build.key_value_line kw sep lns

A generic entry for lens lns

list_sto

let list_sto (kw:regexp) (lns:lens) = counter "item" . entry kw (Build.opt_list [lns] Sep.comma)

A list of values with given lens

entry_sto

let entry_sto (kw:regexp) (val:regexp) = entry kw (store val)

Store a regexp as entry value

COMMON ENTRIES

common_entry

let common_entry = list_sto ("base_features"|"default_features") (key Rx.word) | entry_sto "blocksize" ("-"? . Rx.integer) | entry_sto "hash_alg" ("legacy"|"half_md4"|"tea") | entry_sto ("inode_ratio"|"inode_size") Rx.integer

Entries shared between defaults and fs_types sections

DEFAULTS SECTION

defaults_entry

let defaults_entry = entry_sto "force_undo" ("true"|"false") | entry_sto "fs_type" Rx.word | entry_sto "undo_dir" Rx.fspath | list_sto "default_mntopts" (key Rx.word) | entry_sto "enable_periodic_fsck" Rx.integer

Possible entries under the defaults section

defaults_title

let defaults_title = IniFile.title "defaults"

Title for the defaults section

defaults

let defaults = IniFile.record defaults_title ((Util.indent . (defaults_entry|common_entry)) | comment)

A defaults section

FS_TYPES SECTION

fs_types_entry

let fs_types_entry =list_sto "features" ([del /\^/ "^" . label "disable"]? . key Rx.word) | list_sto "options" (key Rx.word . Util.del_str "=" . store Rx.word) | entry_sto "lazy_itable_init" ("true"|"false") | entry_sto ("flex_bg_size"|"auto_64-bit_support") Rx.integer

Possible entries under a fs_types_record group

fs_types_record

let fs_types_record = [ label "filesystem" . Util.indent . store Rx.word . del /[ \t]*=[ \t]*\{[ \t]*\n/ " = {\n" . ((Util.indent . (fs_types_entry|common_entry)) | empty | comment)* . del /[ \t]*\}[ \t]*\n/ " }\n" ]

Fs group records under the fs_types section

fs_types_title

let fs_types_title = IniFile.title "fs_types"

Title for the fs_types section

fs_types

let fs_types = IniFile.record fs_types_title (fs_types_record | comment)

A fs_types section

LENS AND FILTER

lns

let lns = (empty|comment)* . (defaults|fs_types)*

The mke2fs lens

filter

let comment = IniFile.comment IniFile.comment_re IniFile.comment_default
let sep = IniFile.sep /=[ \t]*/ "="
let empty = IniFile.empty
let entry (kw:regexp) (lns:lens) = Build.key_value_line kw sep lns
A generic entry for lens lns
let list_sto (kw:regexp) (lns:lens) = counter "item" . entry kw (Build.opt_list [lns] Sep.comma)
A list of values with given lens
let entry_sto (kw:regexp) (val:regexp) = entry kw (store val)
Store a regexp as entry value
let common_entry = list_sto ("base_features"|"default_features") (key Rx.word) | entry_sto "blocksize" ("-"? . Rx.integer) | entry_sto "hash_alg" ("legacy"|"half_md4"|"tea") | entry_sto ("inode_ratio"|"inode_size") Rx.integer
Entries shared between defaults and fs_types sections
let defaults = IniFile.record defaults_title ((Util.indent . (defaults_entry|common_entry)) | comment)
A defaults section
let fs_types = IniFile.record fs_types_title (fs_types_record | comment)
A fs_types section
let defaults_entry = entry_sto "force_undo" ("true"|"false") | entry_sto "fs_type" Rx.word | entry_sto "undo_dir" Rx.fspath | list_sto "default_mntopts" (key Rx.word) | entry_sto "enable_periodic_fsck" Rx.integer
Possible entries under the defaults section
let defaults_title = IniFile.title "defaults"
Title for the defaults section
let fs_types_entry =list_sto "features" ([del /\^/ "^" . label "disable"]? . key Rx.word) | list_sto "options" (key Rx.word . Util.del_str "=" . store Rx.word) | entry_sto "lazy_itable_init" ("true"|"false") | entry_sto ("flex_bg_size"|"auto_64-bit_support") Rx.integer
Possible entries under a fs_types_record group
let fs_types_record = [ label "filesystem" . Util.indent . store Rx.word . del /[ \t]*=[ \t]*\{[ \t]*\n/ " = {\n" . ((Util.indent . (fs_types_entry|common_entry)) | empty | comment)* . del /[ \t]*\}[ \t]*\n/ " }\n" ]
Fs group records under the fs_types section
let fs_types_title = IniFile.title "fs_types"
Title for the fs_types section
let lns = (empty|comment)* . (defaults|fs_types)*
The mke2fs lens
Close