summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--jffsX-utils/device_table.txt1
-rw-r--r--ubifs-utils/mkfs.ubifs/devtable.c10
2 files changed, 9 insertions, 2 deletions
diff --git a/jffsX-utils/device_table.txt b/jffsX-utils/device_table.txt
index 394a62b..8930cae 100644
--- a/jffsX-utils/device_table.txt
+++ b/jffsX-utils/device_table.txt
@@ -14,6 +14,7 @@
# c Character special device file
# b Block special device file
# p Fifo (named pipe)
+# l Link
# uid is the user id for the target file, gid is the group id for the
# target file. The rest of the entried apply only to device special
# file.
diff --git a/ubifs-utils/mkfs.ubifs/devtable.c b/ubifs-utils/mkfs.ubifs/devtable.c
index dee035d..3b46abc 100644
--- a/ubifs-utils/mkfs.ubifs/devtable.c
+++ b/ubifs-utils/mkfs.ubifs/devtable.c
@@ -33,9 +33,10 @@
* c Character special device file
* b Block special device file
* p Fifo (named pipe)
+ * l Link
*
- * Don't bother with symlinks (permissions are irrelevant), hard links (special
- * cases of regular files), or sockets (why bother).
+ * Don't bother with hard links (special cases of regular files), or sockets
+ * (why bother).
*
* Regular files must exist in the target root directory. If a char, block,
* fifo, or directory does not exist, it will be created.
@@ -177,6 +178,11 @@ static int interpret_table_entry(const char *line)
case 'b':
mode |= S_IFBLK;
break;
+ case 'l':
+ mode |= S_IFLNK;
+ if ((mode & 0777) != 0777)
+ return err_msg("link permission must be 0777");
+ break;
default:
return err_msg("unsupported file type '%c'", type);
}