mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
xfs: test handling of invalid inode modes
Set all possible file type values for different types of files and verify that xfs_repair detects the correct errors. When setting invalid file type values (e.g. core.mode = 0170644), all files are expected to have been junked by xfs_repair. When setting valid file type values to non matching file types, xfs_repair would either detect wrong format and junk the file, e.g.: would have junked entry "DATA" in directory PARENT_INO or detect a ftype mismatch error, e.g.: would fix ftype mismatch (5/3) in directory/child PARENT_INO/FIFO_INO If ftype feature is enabled, when setting file type to one of the special types (i.e. FIFO(1), CHRDEV(2),BLKDEV(6),SOCKET(14)), xfs_repair is expected to detect ftype mismatch error. Otherwise, xfs_repair is not expected to detect ftype mismatch error. Signed-off-by: Amir Goldstein <amir73il@gmail.com> Reviewed-by: Eryu Guan <eguan@redhat.com> Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
committed by
Eryu Guan
parent
466369dc92
commit
726f8c357f
@@ -0,0 +1,248 @@
|
||||
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
|
||||
|
||||
===== 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
|
||||
|
||||
===== 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
|
||||
|
||||
===== 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
|
||||
|
||||
===== 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
|
||||
|
||||
===== 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
|
||||
|
||||
===== 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
|
||||
|
||||
===== 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
|
||||
|
||||
===== 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
|
||||
|
||||
===== 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
|
||||
|
||||
===== 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
|
||||
|
||||
===== 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
|
||||
|
||||
===== 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
|
||||
|
||||
===== 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
|
||||
|
||||
===== 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
|
||||
|
||||
===== 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
|
||||
Reference in New Issue
Block a user