Extended lfsr_mount to accept mount flags

This has been a long-time coming, mount flags are just too useful for
configuring a filesystem at runtime.

Currently this is limited to LFS_M_RDONLY and LFS_M_CKPROGS, but there
are a few more planned in the future:

  LFS_M_RDWR     = 0x0000, // Mount the filesystem as read and write
  LFS_M_RDONLY   = 0x0001, // Mount the filesystem as readonly
  LFS_M_STRICT*  = 0x0002, // Error if on-disk config does not match
  LFS_M_FORCE*   = 0x0004, // Ignore compat flags, mount readonly
  LFS_M_FORCEWITHRECKLESSABANDON*
                 = 0x0008, // Ignore compat flags, mount read write

  LFS_M_CKPROGS  = 0x0010, // Check progs by reading back progged data
  LFS_M_CKREADS* = 0x0020, // Check reads via checksums

  * Hypothetical

As a convenience, we also return mount flags in the struct lfs_fsinfo's
flags field as their relevant LFS_I_* variants. Though only to match
statvfs, and only because it's cheap, littlefs's API is low-level and we
should expect users to know what flags they passed to lfsr_mount.

As for the new mount flags:

- LFS_M_RDONLY - For consistency with existing APIs, this just asserts
  on write operations, which makes it a bit useless... But the info flag
  LFS_I_RDONLY may be useful for falling back to a readonly mode if
  we encounter on-disk compat issues.

  At least if implement the theoretical LFS_UNTRUSTED_USER mode
  LFS_M_RDONLY could become a runtime error.

- LFS_M_RDWR - This really just exists to compliment LFS_M_RDONLY and to
  match LFS_O_RDONLY/LFS_O_RDWR. It's just an alias for 0, and I don't
  think there will ever be a reason to make it non-0 (but I can always
  be wrong!).

- LFS_M_CKPROGS - This replaces the check_progs config option and avoids
  using a full byte to store a bool.

  We should probably also have a compile-time option to compile this out
  (LFS_NO_CKPROGS?), but that's a future thing to do.

This ended up adding a surprising bit of code, considering we're just
moving flags around, and noise in lfs_alloc added a bit of stack again:

           code          stack
  before: 35880           2672
  after:  35932 (+0.1%)   2680 (+0.3%)
This commit is contained in:
Christopher Haster
2024-07-15 01:48:37 -05:00
parent 0a3cb2dd3a
commit acfae9e072
25 changed files with 1322 additions and 1126 deletions
+107 -107
View File
@@ -17,7 +17,7 @@ defines.BLOCK_SIZE = 32768
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -54,7 +54,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -92,7 +92,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -131,7 +131,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -251,7 +251,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -373,7 +373,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -463,7 +463,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -555,7 +555,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -626,7 +626,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -703,7 +703,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -794,7 +794,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -969,7 +969,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -1172,7 +1172,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -1375,7 +1375,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -1594,7 +1594,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -1841,7 +1841,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -2043,7 +2043,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -2266,7 +2266,7 @@ defines.PERMUTATION = -1
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -2357,7 +2357,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -2439,7 +2439,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -2536,7 +2536,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -2639,7 +2639,7 @@ defines.PERMUTATION = -1
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -2711,7 +2711,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -2783,7 +2783,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -2898,7 +2898,7 @@ in = 'lfs.c'
defines.ORDER = [0, 1, 2]
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -2962,7 +2962,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -3090,7 +3090,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -3244,7 +3244,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -3343,7 +3343,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -3502,7 +3502,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -3765,7 +3765,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -3873,7 +3873,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -4004,7 +4004,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -4119,7 +4119,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -4221,7 +4221,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -4439,7 +4439,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -4536,7 +4536,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -4609,7 +4609,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -4740,7 +4740,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -4831,7 +4831,7 @@ in = 'lfs.c'
defines.ORDER = [0, 1, 2]
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -4899,7 +4899,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -5078,7 +5078,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -5460,7 +5460,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -5570,7 +5570,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -5681,7 +5681,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -5893,7 +5893,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -6008,7 +6008,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -6146,7 +6146,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -6355,7 +6355,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -6488,7 +6488,7 @@ defines.ORDER = [0, 1, 2]
defines.M = 'range(1, 4)'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -6579,7 +6579,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -6725,7 +6725,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -6891,7 +6891,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -7070,7 +7070,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -7363,7 +7363,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -7662,7 +7662,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -7930,7 +7930,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -8298,7 +8298,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -8645,7 +8645,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -8992,7 +8992,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -9316,7 +9316,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -9640,7 +9640,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -10091,7 +10091,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -10548,7 +10548,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -10710,7 +10710,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -10911,7 +10911,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -11041,7 +11041,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -11187,7 +11187,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -11327,7 +11327,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -11507,7 +11507,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -11656,7 +11656,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -11825,7 +11825,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -11935,7 +11935,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -12182,7 +12182,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -12301,7 +12301,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -12391,7 +12391,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -12480,7 +12480,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -13192,7 +13192,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -13488,7 +13488,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -13610,7 +13610,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -13742,7 +13742,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -13874,7 +13874,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -14018,7 +14018,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -14175,7 +14175,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -14307,7 +14307,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -14451,7 +14451,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -14607,7 +14607,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -14771,7 +14771,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -14962,7 +14962,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -15123,7 +15123,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -15317,7 +15317,7 @@ defines.PERMUTATION = -1
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -15407,7 +15407,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -15551,7 +15551,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -15697,7 +15697,7 @@ defines.PERMUTATION = -1
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -15790,7 +15790,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -15944,7 +15944,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -16100,7 +16100,7 @@ defines.PERMUTATION = -1
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -16187,7 +16187,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -16331,7 +16331,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -16468,7 +16468,7 @@ defines.PERMUTATION = -1
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -16558,7 +16558,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -16702,7 +16702,7 @@ if = 'PROG_SIZE < 512'
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -16852,7 +16852,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -16901,7 +16901,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -16960,7 +16960,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -17018,7 +17018,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,
@@ -17086,7 +17086,7 @@ code = '''
in = 'lfs.c'
code = '''
lfs_t lfs;
lfs_init(&lfs, CFG) => 0;
lfs_init(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_rbyd_t init_rbyd = {
.blocks[0] = 0,