32 lines
1.1 KiB
Markdown
32 lines
1.1 KiB
Markdown
# Test Case: FIFO ACL and xattr read-only VOPs
|
|
|
|
**Test ID**: TC139-fifo-acl-xattr-readonly
|
|
**Fixture**: `basic.erofs`, `/fifo-node`
|
|
|
|
## Objective
|
|
|
|
Verify FIFO stat, ACL, and xattr reads without opening FIFO data, and require
|
|
read-only errors for all mutations. The transformer must record the regular
|
|
placeholder to FIFO `i_mode` change and ACL body fields.
|
|
|
|
## Manual steps
|
|
|
|
```sh
|
|
stat -f 'type=%HT mode=%Sp size=%z inode=%i' /mnt/repo22-g4/fifo-node
|
|
getfacl -n /mnt/repo22-g4/fifo-node
|
|
lsextattr system /mnt/repo22-g4/fifo-node
|
|
lsextattr user /mnt/repo22-g4/fifo-node
|
|
getextattr -qq -x system posix_acl_access /mnt/repo22-g4/fifo-node
|
|
getextattr -qq -x user fifo_note /mnt/repo22-g4/fifo-node
|
|
truss -o /tmp/tc139-acl.truss setfacl -m u::rwx /mnt/repo22-g4/fifo-node
|
|
truss -o /tmp/tc139-set.truss setextattr user repo22 changed \
|
|
/mnt/repo22-g4/fifo-node
|
|
truss -o /tmp/tc139-del.truss rmextattr system posix_acl_access \
|
|
/mnt/repo22-g4/fifo-node
|
|
```
|
|
|
|
## Expected results
|
|
|
|
Stat reports FIFO, reads return the exact ACL and `fifo-readonly-xattr`, and
|
|
all three mutations return `EROFS` (30). Nothing blocks or logs a trap. Clean up.
|