diff options
author | David Engraf <david.engraf@sysgo.com> | 2017-05-23 08:52:52 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2017-05-31 10:56:25 +0200 |
commit | 871c2f1e898fc692e2966092372ee9c4ce31bbc0 (patch) | |
tree | 64db21a6781ba00f51799580f4b4310d0974d4ff | |
parent | c0972a5ffc3a6d1fb7ccfa8dc5a11d1afaf7c331 (diff) |
mkfs.ubifs: Add support for symlinks in device table
It is not possible to change ownership for symlinks in the device table file.
This patch adds support for symlinks equal to mkfs.jffs2 and updates the
sample device table file. The permission entry for symlinks in the device
table must be set to 0777.
Signed-off-by: David Engraf <david.engraf@sysgo.com>
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-rw-r--r-- | jffsX-utils/device_table.txt | 1 | ||||
-rw-r--r-- | ubifs-utils/mkfs.ubifs/devtable.c | 10 |
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); } |