From b16616ef092e8cd97674aac3380c5d7c600d7c61 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Thu, 19 Dec 2019 16:31:39 +0100 Subject: Add hard link support to gensquashfs and tar2sqfs In libtar, set a special flag if the header is actually a hard link. In tar2sqfs, create a hard link node and skip the rest for hard links. Also refues to set the root attributes from a hard link, it may refere to a node that we have missed earlier, there is nothing else that we can do here. In fstree_from_file, add a "link" command for adding hard links. Signed-off-by: David Oberhollenzer --- lib/tar/read_header.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'lib/tar') diff --git a/lib/tar/read_header.c b/lib/tar/read_header.c index 7d209ae..f82f9a5 100644 --- a/lib/tar/read_header.c +++ b/lib/tar/read_header.c @@ -345,8 +345,7 @@ static int decode_header(const tar_header_t *hdr, unsigned int set_by_pax, out->sb.st_mode |= S_IFREG; break; case TAR_TYPE_LINK: - /* XXX: hard links are not support yet */ - out->sb.st_mode = S_IFLNK | 0777; + out->is_hard_link = true; break; case TAR_TYPE_SLINK: out->sb.st_mode = S_IFLNK | 0777; -- cgit v1.2.3