TS_CMD_NSENTER=${TS_CMD_NSENTER-"${ts_commandsdir}nsenter"}
TS_CMD_PARTX=${TS_CMD_PARTX-"${ts_commandsdir}partx"}
TS_CMD_PIPESZ=${TS_CMD_PIPESZ-"${ts_commandsdir}pipesz"}
+TS_CMD_PRLIMIT=${TS_CMD_PRLIMIT-"${ts_commandsdir}prlimit"}
TS_CMD_RENAME=${TS_CMD_RENAME-"${ts_commandsdir}rename"}
TS_CMD_RUNUSER=${TS_CMD_RUNUSER-"${ts_commandsdir}runuser"}
TS_CMD_REV=${TS_CMD_REV:-"${ts_commandsdir}rev"}
--- /dev/null
+#!/bin/bash
+
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# Copyright (C) 2026 Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
+
+TS_TOPDIR="${0%/*}/../.."
+TS_DESC="pid-inode address format"
+
+. "$TS_TOPDIR/functions.sh"
+ts_init "$*"
+
+# The pidfs was only introduced in kernel version 6.9,
+# which means we cannot get a valid pidfd from earlier versions,
+# so we can confidently anticipate a test failure.
+if ts_kernel_ver_lt 6 9; then
+ TS_KNOWN_FAIL="yes"
+fi
+
+ts_check_test_command "$TS_CMD_PRLIMIT"
+ts_check_test_command "$TS_CMD_GETINO"
+
+pid=$$
+pidino="$("$TS_CMD_GETINO" -p $pid)"
+
+num_open_fds="$(find /proc/self/fd/ -type l | wc -l)"
+new_rlimit_nofile_val="$((num_open_fds * 3))"
+
+"$TS_CMD_PRLIMIT" --pid "$pidino" --nofile="$new_rlimit_nofile_val": >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+
+current_rlimit_nofile="$(ulimit -n)"
+
+if [[ "$new_rlimit_nofile_val" != "$current_rlimit_nofile" ]]; then
+ ts_failed "failed to set RLIMIT_NOFILE for $pid"
+fi
+
+ts_finalize