[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