From: Glenn Washburn <development@efficientek.com>
To: The development of GNU GRUB <grub-devel@gnu.org>
Subject: Tar fs module appears to be broken
Date: Fri, 18 Nov 2011 19:27:52 -0600 [thread overview]
Message-ID: <4ec7061c.c5b3ec0a.292a.ffffedd8@mx.google.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 1606 bytes --]
Hi all,
I'm in the middle of debugging an issue with the tar fs module, but
thought sharing it with the list might make it go faster. With the
attached tar file, and any tar file it seems, I am only able to see
files which are children of root. So in this case, I can see /boot,
but not /boot/grub or /boot/grub/test.cfg. This tar file was created
with regular gnu tar.
I've added some debug print statements, and I can see that
grub_cpio_find_file is returning all paths from the archive. So the
problem would seem to be in grub_cpio_dir. I'm currently stuck trying
to figure out how the big if in the while loop is supposed to work.
For one, all code referencing the local variable "n" appears to be
extraneous (if so, let's remove it). The local variable "p" seems to be
used to get the next path component and also used to tell if the path
is a directory. It appears that "(!prev) || (grub_strcmp (prev,
name) != 0)" is always false, except the first time through the loop
because prev == "boot" and name == "boot". I'm guessing there's
something wrong with this condition, but I haven't completely figured
out what its supposed to be doing at a high level.
This piece of code is a little convoluted so it might be good to put
some comments in to clarify what's going on. What's strange is that I
thought I remembered this very case working a couple weeks ago. Can
someone verify that they see this issue with this tar file before
digging into the code?
I won't be able to respond till after the weekend, but I thought I'd
send this out if anyone else wanted to take a stab at it.
Glenn
[-- Attachment #2: test.tar --]
[-- Type: application/x-tar, Size: 10240 bytes --]
next reply other threads:[~2011-11-19 1:28 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-19 1:27 Glenn Washburn [this message]
2011-11-25 13:12 ` Tar fs module appears to be broken Vladimir 'φ-coder/phcoder' Serbinenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4ec7061c.c5b3ec0a.292a.ffffedd8@mx.google.com \
--to=development@efficientek.com \
--cc=grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.