Date: Thu, 30 Oct 2025 20:18:43 GMT From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= <des@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 6c86379b0d0d - main - pjdfstest: Fix link count test Message-ID: <202510302018.59UKIh0V075886@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=6c86379b0d0deb2750a662579f63d71ffa519e81 commit 6c86379b0d0deb2750a662579f63d71ffa519e81 Author: Dag-Erling Smørgrav <des@FreeBSD.org> AuthorDate: 2025-10-30 20:18:17 +0000 Commit: Dag-Erling Smørgrav <des@FreeBSD.org> CommitDate: 2025-10-30 20:18:38 +0000 pjdfstest: Fix link count test This UFS-only test verifies that attempting to create more links than permitted by the file system returns EMLINK, but has been broken ever since UFS_LINK_MAX was increased because a) it hardcodes the previous value of UFS_LINK_MAX, and b) the new value requires more space than the test allocates, so it ends up getting ENOSPC instead of EMLINK. * Switch to retrieving {PC_LINK_MAX} at runtime. * Stop the test when we reach {PC_LINK_MAX} links. This ensures that we don't go on for hours if the actual limit turns out to be much higher than we anticipated (e.g. INT64_MAX on ZFS). * Double the size of the test filesystem. MFC after: 3 days Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Fixes: 35a301555bff ("Increase UFS/FFS maximum link count from 32767 to 65530.") Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D53442 --- contrib/pjdfstest/tests/link/05.t | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/contrib/pjdfstest/tests/link/05.t b/contrib/pjdfstest/tests/link/05.t index 5a18c2103e1d..e6a7d1cc8201 100644 --- a/contrib/pjdfstest/tests/link/05.t +++ b/contrib/pjdfstest/tests/link/05.t @@ -2,7 +2,7 @@ # vim: filetype=sh noexpandtab ts=8 sw=8 # $FreeBSD: head/tools/regression/pjdfstest/tests/link/05.t 211352 2010-08-15 21:24:17Z pjd $ -desc="link returns EMLINK if the link count of the file named by name1 would exceed 32767" +desc="link returns EMLINK if the link count of the file named by name1 would exceed {PC_LINK_MAX}" dir=`dirname $0` . ${dir}/../misc.sh @@ -16,19 +16,20 @@ n1=`namegen` n2=`namegen` expect 0 mkdir ${n0} 0755 -n=`mdconfig -a -n -t malloc -s 1m` || exit +n=`mdconfig -a -n -t malloc -s 2m` || exit newfs -i 1 /dev/md${n} >/dev/null || exit mount /dev/md${n} ${n0} || exit +link_max=`${fstest} pathconf ${n0} _PC_LINK_MAX` expect 0 create ${n0}/${n1} 0644 i=1 -while :; do +while [ ${i} -le ${link_max} ]; do link ${n0}/${n1} ${n0}/${i} >/dev/null 2>&1 if [ $? -ne 0 ]; then break fi i=`expr $i + 1` done -test_check $i -eq 32767 +test_check $i -eq ${link_max} expect EMLINK link ${n0}/${n1} ${n0}/${n2}home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202510302018.59UKIh0V075886>
