diff --git a/.github/actions/environment/action.yml b/.github/actions/environment/action.yml
index 48687f92b4c392d3e835d752dbc95eb1d7e599ca..d81ff16c3c2f61cf0fa566ab0af2de9438201d8c 100644
--- a/.github/actions/environment/action.yml
+++ b/.github/actions/environment/action.yml
@@ -85,4 +85,31 @@ runs:
         # files from previous runs, to avoid of it need to run:
         git clean -xffd
         git submodule foreach --recursive 'git clean -xffd'
+
+        # A temporary workaround that should be removed after the corresponding
+        # issue is fixed. See for details:
+        #   https://github.com/tarantool/tarantool/issues/7472.
+        if ${{ runner.os == 'Linux' && github.workflow == 'coverage' }}; then
+            LUAJIT_TEST_VARDIR=/tmp/luajit-test-vardir
+            LUAJIT_TEST_VARDIR_DISK=/tmp/luajit-test-vardir-disk/disk.ext4
+
+            # Create ${LUAJIT_TEST_VARDIR}.
+            umount ${LUAJIT_TEST_VARDIR} || true
+            rm -rf ${LUAJIT_TEST_VARDIR}
+            mkdir -p ${LUAJIT_TEST_VARDIR}
+
+            # Create a 1GB file (disk image).
+            mkdir -p $(dirname ${LUAJIT_TEST_VARDIR_DISK})
+            dd if=/dev/zero of=${LUAJIT_TEST_VARDIR_DISK} bs=4096 count=256000
+
+            # Format this file as an ext4 filesystem.
+            mkfs -t ext4 -q ${LUAJIT_TEST_VARDIR_DISK} -F
+
+            # Mount this filesystem to ${LUAJIT_TEST_VARDIR}.
+            mount -o loop,rw,usrquota,grpquota \
+                ${LUAJIT_TEST_VARDIR_DISK} \
+                ${LUAJIT_TEST_VARDIR}
+
+            echo LUAJIT_TEST_VARDIR=${LUAJIT_TEST_VARDIR} | tee -a $GITHUB_ENV
+        fi
       shell: bash