summaryrefslogtreecommitdiff
path: root/mkfs.jffs2.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2008-12-26 22:35:08 -0500
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2008-12-27 15:58:10 +0200
commit149d3c8ac8d32c05836ed8add1324561ce0952ad (patch)
tree31116a46a790f447f2ad96b663349b76f3920940 /mkfs.jffs2.c
parentf1076eedef167ae28740a6844985a064a474fdfa (diff)
mkfs.jffs2: fix dir creation in /
With older mtd-utils, creating a directory in the root worked fine. With current git, the parent dir search algo breaks this. For example, just take the current git tree, build it up, and then run: $ ./mkfs.jffs2 -d . -D device_table.txt -o /dev/null mkfs.jffs2: skipping device_table entry '/dev': no parent directory! mkfs.jffs2: skipping device_table entry '/dev/mem': no parent directory! ... Doing `mkdir ./dev` first works around the issue, but where's the fun in that. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'mkfs.jffs2.c')
-rw-r--r--mkfs.jffs2.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/mkfs.jffs2.c b/mkfs.jffs2.c
index 7255536..23a8cf8 100644
--- a/mkfs.jffs2.c
+++ b/mkfs.jffs2.c
@@ -273,6 +273,11 @@ static struct filesystem_entry *find_filesystem_entry(
struct filesystem_entry *e = dir;
if (S_ISDIR(dir->sb.st_mode)) {
+ /* If this is the first call, and we actually want this
+ * directory, then return it now */
+ if (strcmp(fullname, e->fullname) == 0)
+ return e;
+
e = dir->files;
}
while (e) {