Inconsistent inode errors

of Kiss Coda Wiki

This article walks through fixing an error where RVM did not have an allocated inode but there was a container file:

    12:37:11 f_icreate: bitmap free at 1562, inode 1563 exists!

indicate that RVM says an inode is not allocated, but that a container file exists. This could be because at the time of a crash the container was created and the partial RVM transaction was rolled back. This is a bug; the container file creation should somehow be linked to the RVM transaction and undone as well. Also, the error message should use consistent inode numbering.

The inode numbers are logical numbers, not on-disk inodes. They can be mapped to container files by using the ftree parameters. In this case, depth is 4 and width is 32 (from /vice/db/vicetab: claude /vicepa ftree width=32,depth=4). Converting to binary, one gets 11000011011, which is 0/1/10/1b (container files are numbered in hex). There is a recently modified file of zero length at this location.

One can also use the inoder tool. Note that this example is probably operating on the wrong inode (but there is clearly 0/1 confusion in coda inodes)! But, there was no container file at 0/1/10/1a

    18 /vice/srv #> inoder /vice/db/vicetab /vicepa header 1562
    Partition /vicepa: inodes in use: 4357, total: 1048576.

    Date: Wed 03/01/2006

    08:46:50 Partition /vicepa: 54920992K available (minfree=4%), 35680608K free.
    Header for inode 1562
     lnk   1
     vol   1000002
     vnode c4e
     uniq  e5b7
     vers  2
     magic 47114711
    19 /vice/srv #> inoder /vice/db/vicetab /vicepa idec 1562
    Partition /vicepa: inodes in use: 4357, total: 1048576.

    Date: Wed 03/01/2006

    08:46:57 Partition /vicepa: 54920992K available (minfree=4%), 35680608K free.

    20 /vice/srv #> inoder /vice/db/vicetab /vicepa header 1562
    Partition /vicepa: inodes in use: 4356, total: 1048576.

    Date: Wed 03/01/2006

    08:47:03 Partition /vicepa: 54920992K available (minfree=4%), 35680624K free.
    Header for inode 1562
     lnk   0
     vol   0
     vnode 0
     uniq  0
     vers  0
     magic 0

After this, the startup fatal error persists. After removing the container file (simply with rm), codasrv will start again.


At its former host wikidev.net this page has been accessed 831 times.


Last modified: Thu Jun 26 07:36:54 UTC 2014