Package: squashfs-tools-ng
Version: 1.1.4-1
Severity: minor

The error text "Too many links" from EMLINK is intended to refer to the
number of hard links to an inode, but is misused in fstree_mknode
(mknode.c) to mean "directory has too many entries" (perhaps a squashfs
limit?).  This is confusing and doesn't help the user find the offending
part of the directory structure.  Reading the source code was required
to determine the real problem.

Also, the name of the offending directory is not printed, so once the
real problem is identified, finding the directory requires a little
shell scripting to be used with find -exec to get the information that
could have been printed by gensquashfs with the error message.

In fstree_from_dir.c:populate_dir where fstree_mknode is called, you
could check errno for EMLINK and print a more informative message
instead of calling perror.  I did not look at calls to fstree_mknode in
other files, but there are only a few to check; perhaps they would also
benefit from a similar fix.

Thanks...Marvin


-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'stable-updates'), (500, 
'stable-security'), (500, 'oldstable-updates'), (500, 'stable'), (500, 
'oldstable'), (200, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.17.0-1-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
LSM: AppArmor: enabled

Versions of packages squashfs-tools-ng depends on:
ii  libc6         2.33-7
ii  liblzma5      5.2.5-2.1
ii  liblzo2-2     2.10-2
ii  libselinux1   3.3-1+b2
ii  libsquashfs1  1.1.4-1
ii  libzstd1      1.5.2+dfsg-1
ii  zlib1g        1:1.2.11.dfsg-4

squashfs-tools-ng recommends no packages.

squashfs-tools-ng suggests no packages.

-- no debconf information

Reply via email to