The internal RT device directly follows the data device on the same
block device. This implies the data device can't be grown, and growfs
should handle this gracefully.
Signed-off-by: Christoph Hellwig <hch@lst.de>
--- /dev/null
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2024 Christoph Hellwig.
+#
+# FS QA Test No. 4204
+#
+# Check that trying to grow a data device followed by the internal RT device
+# fails gracefully with EINVAL.
+#
+. ./common/preamble
+_begin_fstest quick auto growfs ioctl zone
+
+_cleanup()
+{
+ cd /
+ _scratch_unmount
+}
+
+# Import common functions.
+. ./common/filter
+
+_require_scratch
+_require_zoned_device $SCRATCH_DEV
+
+echo "Creating file system"
+_scratch_mkfs_xfs >>$seqres.full 2>&1
+_scratch_mount
+
+echo "Trying to grow file system (should fail)"
+$XFS_GROWFS_PROG -d $SCRATCH_MNT >>$seqres.full 2>&1
+
+status=0
+exit
--- /dev/null
+QA output created by 4204
+Creating file system
+Trying to grow file system (should fail)