Files
apfstests/tests/xfs/348.out
T
Darrick J. Wong 60ba1274f5 xfs/348: dir->symlink corruption must not be allowed
A directory corrupted into a symlink is caught by the local format
ifork verifiers, and previously this test failed to catch such
kernel bug, so fix the test.

Note that the local format ifork verifiers were introduced by commit
0795e004fd4f ("xfs: create structure verifier function for short
form symlinks"), and didn't get wired up until commit 9cfb9b47479e
("xfs: provide a centralized method for verifying inline fork
data").

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2018-02-09 00:57:01 +08:00

361 lines
15 KiB
Plaintext

QA output created by 348
===== Find inode by file type:
dt=1 => FIFO_INO
dt=2 => CHRDEV_INO
dt=4 => DIR_INO
dt=6 => BLKDEV_INO
dt=10 => DATA_INO
dt=10 => EMPTY_INO
dt=12 => SYMLINK_INO
===== Setting dt=0 to all files:
core.mode = 0644
core.mode = 0644
core.mode = 0644
core.mode = 0644
core.mode = 0644
core.mode = 0644
core.mode = 0644
would have junked entry "BLKDEV" in directory PARENT_INO
would have junked entry "CHRDEV" in directory PARENT_INO
would have junked entry "DATA" in directory PARENT_INO
would have junked entry "DIR" in directory PARENT_INO
would have junked entry "EMPTY" in directory PARENT_INO
would have junked entry "FIFO" in directory PARENT_INO
would have junked entry "SYMLINK" in directory PARENT_INO
stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
===== Setting dt=1 to all files:
core.mode = 010644
core.mode = 010644
core.mode = 010644
core.mode = 010644
core.mode = 010644
core.mode = 010644
core.mode = 010644
would have junked entry "DATA" in directory PARENT_INO
would have junked entry "DIR" in directory PARENT_INO
would have junked entry "EMPTY" in directory PARENT_INO
would have junked entry "SYMLINK" in directory PARENT_INO
stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
stat: 'SCRATCH_MNT/test/CHRDEV' is a fifo
stat: 'SCRATCH_MNT/test/BLKDEV' is a fifo
stat: 'SCRATCH_MNT/test/FIFO' is a fifo
===== Setting dt=2 to all files:
core.mode = 020644
core.mode = 020644
core.mode = 020644
core.mode = 020644
core.mode = 020644
core.mode = 020644
core.mode = 020644
would have junked entry "DATA" in directory PARENT_INO
would have junked entry "DIR" in directory PARENT_INO
would have junked entry "EMPTY" in directory PARENT_INO
would have junked entry "SYMLINK" in directory PARENT_INO
stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
stat: 'SCRATCH_MNT/test/CHRDEV' is a character special file
stat: 'SCRATCH_MNT/test/BLKDEV' is a character special file
stat: 'SCRATCH_MNT/test/FIFO' is a character special file
===== Setting dt=3 to all files:
core.mode = 030644
core.mode = 030644
core.mode = 030644
core.mode = 030644
core.mode = 030644
core.mode = 030644
core.mode = 030644
would have junked entry "BLKDEV" in directory PARENT_INO
would have junked entry "CHRDEV" in directory PARENT_INO
would have junked entry "DATA" in directory PARENT_INO
would have junked entry "DIR" in directory PARENT_INO
would have junked entry "EMPTY" in directory PARENT_INO
would have junked entry "FIFO" in directory PARENT_INO
would have junked entry "SYMLINK" in directory PARENT_INO
stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
===== Setting dt=4 to all files:
core.mode = 040644
core.mode = 040644
core.mode = 040644
core.mode = 040644
core.mode = 040644
core.mode = 040644
core.mode = 040644
would have junked entry "BLKDEV" in directory PARENT_INO
would have junked entry "CHRDEV" in directory PARENT_INO
would have junked entry "DATA" in directory PARENT_INO
would have junked entry "EMPTY" in directory PARENT_INO
would have junked entry "FIFO" in directory PARENT_INO
stat: 'SCRATCH_MNT/test/DIR' is a directory
stat: 'SCRATCH_MNT/test/DATA' is a directory
stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
===== Setting dt=5 to all files:
core.mode = 050644
core.mode = 050644
core.mode = 050644
core.mode = 050644
core.mode = 050644
core.mode = 050644
core.mode = 050644
would have junked entry "BLKDEV" in directory PARENT_INO
would have junked entry "CHRDEV" in directory PARENT_INO
would have junked entry "DATA" in directory PARENT_INO
would have junked entry "DIR" in directory PARENT_INO
would have junked entry "EMPTY" in directory PARENT_INO
would have junked entry "FIFO" in directory PARENT_INO
would have junked entry "SYMLINK" in directory PARENT_INO
stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
===== Setting dt=6 to all files:
core.mode = 060644
core.mode = 060644
core.mode = 060644
core.mode = 060644
core.mode = 060644
core.mode = 060644
core.mode = 060644
would have junked entry "DATA" in directory PARENT_INO
would have junked entry "DIR" in directory PARENT_INO
would have junked entry "EMPTY" in directory PARENT_INO
would have junked entry "SYMLINK" in directory PARENT_INO
stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
stat: 'SCRATCH_MNT/test/CHRDEV' is a block special file
stat: 'SCRATCH_MNT/test/BLKDEV' is a block special file
stat: 'SCRATCH_MNT/test/FIFO' is a block special file
===== Setting dt=7 to all files:
core.mode = 070644
core.mode = 070644
core.mode = 070644
core.mode = 070644
core.mode = 070644
core.mode = 070644
core.mode = 070644
would have junked entry "BLKDEV" in directory PARENT_INO
would have junked entry "CHRDEV" in directory PARENT_INO
would have junked entry "DATA" in directory PARENT_INO
would have junked entry "DIR" in directory PARENT_INO
would have junked entry "EMPTY" in directory PARENT_INO
would have junked entry "FIFO" in directory PARENT_INO
would have junked entry "SYMLINK" in directory PARENT_INO
stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
===== Setting dt=10 to all files:
core.mode = 0100644
core.mode = 0100644
core.mode = 0100644
core.mode = 0100644
core.mode = 0100644
core.mode = 0100644
core.mode = 0100644
would have junked entry "BLKDEV" in directory PARENT_INO
would have junked entry "CHRDEV" in directory PARENT_INO
would have junked entry "DIR" in directory PARENT_INO
would have junked entry "FIFO" in directory PARENT_INO
would have junked entry "SYMLINK" in directory PARENT_INO
stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
stat: 'SCRATCH_MNT/test/DATA' is a regular file
stat: 'SCRATCH_MNT/test/EMPTY' is a regular empty file
stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
===== Setting dt=11 to all files:
core.mode = 0110644
core.mode = 0110644
core.mode = 0110644
core.mode = 0110644
core.mode = 0110644
core.mode = 0110644
core.mode = 0110644
would have junked entry "BLKDEV" in directory PARENT_INO
would have junked entry "CHRDEV" in directory PARENT_INO
would have junked entry "DATA" in directory PARENT_INO
would have junked entry "DIR" in directory PARENT_INO
would have junked entry "EMPTY" in directory PARENT_INO
would have junked entry "FIFO" in directory PARENT_INO
would have junked entry "SYMLINK" in directory PARENT_INO
stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
===== Setting dt=12 to all files:
core.mode = 0120644
core.mode = 0120644
core.mode = 0120644
core.mode = 0120644
core.mode = 0120644
core.mode = 0120644
core.mode = 0120644
would have junked entry "BLKDEV" in directory PARENT_INO
would have junked entry "CHRDEV" in directory PARENT_INO
would have junked entry "DATA" in directory PARENT_INO
would have junked entry "DIR" in directory PARENT_INO
would have junked entry "EMPTY" in directory PARENT_INO
would have junked entry "FIFO" in directory PARENT_INO
stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
stat: 'SCRATCH_MNT/test/DATA' is a symbolic link
stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
stat: 'SCRATCH_MNT/test/SYMLINK' is a symbolic link
stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
===== Setting dt=13 to all files:
core.mode = 0130644
core.mode = 0130644
core.mode = 0130644
core.mode = 0130644
core.mode = 0130644
core.mode = 0130644
core.mode = 0130644
would have junked entry "BLKDEV" in directory PARENT_INO
would have junked entry "CHRDEV" in directory PARENT_INO
would have junked entry "DATA" in directory PARENT_INO
would have junked entry "DIR" in directory PARENT_INO
would have junked entry "EMPTY" in directory PARENT_INO
would have junked entry "FIFO" in directory PARENT_INO
would have junked entry "SYMLINK" in directory PARENT_INO
stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
===== Setting dt=14 to all files:
core.mode = 0140644
core.mode = 0140644
core.mode = 0140644
core.mode = 0140644
core.mode = 0140644
core.mode = 0140644
core.mode = 0140644
would have junked entry "DATA" in directory PARENT_INO
would have junked entry "DIR" in directory PARENT_INO
would have junked entry "EMPTY" in directory PARENT_INO
would have junked entry "SYMLINK" in directory PARENT_INO
stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
stat: 'SCRATCH_MNT/test/CHRDEV' is a socket
stat: 'SCRATCH_MNT/test/BLKDEV' is a socket
stat: 'SCRATCH_MNT/test/FIFO' is a socket
===== Setting dt=15 to all files:
core.mode = 0150644
core.mode = 0150644
core.mode = 0150644
core.mode = 0150644
core.mode = 0150644
core.mode = 0150644
core.mode = 0150644
would have junked entry "BLKDEV" in directory PARENT_INO
would have junked entry "CHRDEV" in directory PARENT_INO
would have junked entry "DATA" in directory PARENT_INO
would have junked entry "DIR" in directory PARENT_INO
would have junked entry "EMPTY" in directory PARENT_INO
would have junked entry "FIFO" in directory PARENT_INO
would have junked entry "SYMLINK" in directory PARENT_INO
stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
===== Setting dt=16 to all files:
core.mode = 0160644
core.mode = 0160644
core.mode = 0160644
core.mode = 0160644
core.mode = 0160644
core.mode = 0160644
core.mode = 0160644
would have junked entry "BLKDEV" in directory PARENT_INO
would have junked entry "CHRDEV" in directory PARENT_INO
would have junked entry "DATA" in directory PARENT_INO
would have junked entry "DIR" in directory PARENT_INO
would have junked entry "EMPTY" in directory PARENT_INO
would have junked entry "FIFO" in directory PARENT_INO
would have junked entry "SYMLINK" in directory PARENT_INO
stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
===== Setting dt=17 to all files:
core.mode = 0170644
core.mode = 0170644
core.mode = 0170644
core.mode = 0170644
core.mode = 0170644
core.mode = 0170644
core.mode = 0170644
would have junked entry "BLKDEV" in directory PARENT_INO
would have junked entry "CHRDEV" in directory PARENT_INO
would have junked entry "DATA" in directory PARENT_INO
would have junked entry "DIR" in directory PARENT_INO
would have junked entry "EMPTY" in directory PARENT_INO
would have junked entry "FIFO" in directory PARENT_INO
would have junked entry "SYMLINK" in directory PARENT_INO
stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning