[Libguestfs] febootstrap-supermin-helper: ext2fs_read_inode: Illegal inode number

Richard W.M. Jones rjones at redhat.com
Tue Mar 29 09:18:02 UTC 2011


On Tue, Mar 29, 2011 at 10:16:19AM +0200, Andreas Kurz wrote:
> I attach the content of supermin.d ... maybe someone has an idea whats
> going wrong.

supermin.d contents looks fine.  However I cannot reproduce the actual
bug here using your supermin.d (this is not necessarily surprising
though because my "hostfiles" are different from yours).

As a bit of background to explain how this works:

febootstrap-supermin-helper reconstructs the appliance at runtime.
'supermin.d/*' contains some base images (cpio files) and a list of
files to copy in from the host ('hostfiles' ... just a list of
filenames).

>From this we contruct an ext2 filesystem which is the final appliance.
This is constructed using libext2fs.  libext2fs is quite slow so we
have to cache it between runs of libguestfs.

What is failing in this case is the ext2 construction code:

http://git.annexia.org/?p=febootstrap.git;a=blob;f=helper/ext2.c;hb=HEAD

and in this case for some reason it's a call to ext2fs_read_inode
which is failing.  There are only 3 of them in that file, so it's got
to be one of those :-)

I would suggest adding debug messages to the code so you can see

(a) precisely which of those 3 calls is failing

(b) what file/directory it was trying to create (and the mode/permissions/
file type of that file)

(c) what files/directories had been created just before the call
(and the mode/permissions/file type of those).

It's helpful when trying to reproduce this to run
febootstrap-supermin-helper by hand, eg:

/path/to/febootstrap/helper/febootstrap-supermin-helper --verbose -f ext2 \
  /path/to/supermin.d x86_64 /tmp/kernel /tmp/initrd /tmp/root

(Note that /tmp/kernel /tmp/initrd /tmp/root are all output files)

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-p2v converts physical machines to virtual machines.  Boot with a
live CD or over the network (PXE) and turn machines into Xen guests.
http://et.redhat.com/~rjones/virt-p2v




More information about the Libguestfs mailing list