[PATCH v2] mkfs.ubifs: Add support for symlinks in device table
David Oberhollenzer
david.oberhollenzer at sigma-star.at
Wed May 31 02:04:59 PDT 2017
Applied to mtd-utils.git.
Thanks,
David
On 05/23/2017 08:52 AM, David Engraf wrote:
> 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 at sysgo.com>
> ---
> jffsX-utils/device_table.txt | 1 +
> 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);
> }
>
More information about the linux-mtd
mailing list