xfstests: generic/235 breaks /etc/mtab symlinks breaks xfs/189

Serenity lost.
Insanity looms darkly.
/etc/mtab

Random behaviour.
xfs/189 fails
After a week passing.

-SCRATCH_DEV on SCRATCH_MNT type xfs (ro,filestreams)
+SCRATCH_DEV on SCRATCH_MNT type xfs (ro,relatime,attr2,filestreams,inode64,noquota)

Confusion prevails.
/proc/mounts can never give success.
Anything but golden.

ls -l
/etc/mtab shows:
lrwxrwxrwx 1 root root 12 May  8 16:05 /etc/mtab -> /proc/mounts

symlink modified.
Stealth. Deception. WTF?
Ninjas go unseen.

"git grep mtab". Yay!
generic/235: sad
SElinux hack.

Remount context grot.
Mount uses all options from
/etc/mtab

Kernel rejects mount.
sed hacks /etc/mtab
Symlink becomes file.

Test frobulation.
xfs/189 passes
Randomness tamed.

Double face-palm. Tears.
Crack-inspired insanity.
mount(8) needs fixing.

Schizophrenia.
/etc/mtab. Same thing.
Test psychiatry.

Hack, slash, glue, polish.
xfs/189 fixed.
Made shiny again.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
This commit is contained in:
Dave Chinner
2013-05-16 06:53:05 -05:00
committed by Rich Johnston
parent 4e787f8fd4
commit 1bd086437f
3 changed files with 81 additions and 45 deletions
+16 -16
View File
@@ -10,21 +10,21 @@ try remount ro,filestreams -> rw,filestreams
SCRATCH_DEV on SCRATCH_MNT type xfs (ro,filestreams)
mounting given: SCRATCH_DEV
SCRATCH_DEV on SCRATCH_MNT type xfs (rw)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,filestreams)
mounting given: SCRATCH_MNT
SCRATCH_DEV on SCRATCH_MNT type xfs (rw)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,filestreams)
mounting given: SCRATCH_DEV SCRATCH_MNT
SCRATCH_DEV on SCRATCH_MNT type xfs (rw)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,filestreams)
try remount ro,noattr2 -> rw,attr2
SCRATCH_DEV on SCRATCH_MNT type xfs (ro,noattr2)
SCRATCH_DEV on SCRATCH_MNT type xfs (ro)
mounting given: SCRATCH_DEV
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,attr2)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw)
mounting given: SCRATCH_MNT
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,attr2)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw)
mounting given: SCRATCH_DEV SCRATCH_MNT
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,attr2)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw)
try touching file after remount ro -> rw with options
@@ -35,25 +35,25 @@ try remount ro,filestreams -> rw,filestreams
SCRATCH_DEV on SCRATCH_MNT type xfs (ro,filestreams)
mounting given: SCRATCH_DEV
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,noikeep)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,filestreams)
mounting given: SCRATCH_MNT
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,noikeep)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,filestreams)
mounting given: SCRATCH_DEV SCRATCH_MNT
SCRATCH_DEV on SCRATCH_MNT type xfs (rw)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,filestreams)
try remount ro,noattr2 -> rw,attr2
SCRATCH_DEV on SCRATCH_MNT type xfs (ro,noattr2)
SCRATCH_DEV on SCRATCH_MNT type xfs (ro)
mounting given: SCRATCH_DEV
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,noikeep,attr2)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw)
mounting given: SCRATCH_MNT
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,noikeep,attr2)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw)
mounting given: SCRATCH_DEV SCRATCH_MNT
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,attr2)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw)
Do remount barrier tests
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,barrier)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,nobarrier)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw,barrier)
SCRATCH_DEV on SCRATCH_MNT type xfs (rw)
*** done