# Test Case: Write, Truncate, and Create Rejection **Test ID**: TC063-setattr-write-reject **Category**: Read-Only Enforcement **Priority**: Critical ## Objective Verify direct open-for-write, truncate, and create requests return EROFS and leave the mounted tree unchanged. ## Procedure Mount vfs/vfs-plain.erofs and run: sha256 /tmp/repo22-g3/mnt/testdir/file.txt > TC063-before.txt ./g3_vfs_probe expect-error open-rdwr \ /tmp/repo22-g3/mnt/testdir/file.txt 30 ./g3_vfs_probe expect-error truncate \ /tmp/repo22-g3/mnt/testdir/file.txt 30 ./g3_vfs_probe expect-error create \ /tmp/repo22-g3/mnt/testdir/newfile.txt 30 sha256 /tmp/repo22-g3/mnt/testdir/file.txt > TC063-after.txt cmp TC063-before.txt TC063-after.txt test ! -e /tmp/repo22-g3/mnt/testdir/newfile.txt ## Expected Results All mutation syscalls report errno 30, the file hash is unchanged, and no new entry exists. Record output and cleanup.