On 2013.05.06 at 12:04 -0500, Eric Sandeen wrote: > On 5/6/13 6:27 AM, Markus Trippelsdorf wrote: > > Today I accidentally tried to mount my backup disk at /dev/sdc instead > > of /dev/sdc1 and this is what happened: > > > > ... > > EXT4-fs (sdc): VFS: Can't find ext4 filesystem > > FAT-fs (sdc): bogus number of reserved sectors > > FAT-fs (sdc): Can't find a valid FAT filesystem > > FAT-fs (sdc): bogus number of reserved sectors > > FAT-fs (sdc): Can't find a valid FAT filesystem > > ISOFS: Unable to identify CD-ROM format. > > XFS (sdc): bad magic number > > ffff8800db620000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > > ffff8800db620010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > > ffff8800db620020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > > ffff8800db620030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > > XFS (sdc): Internal error xfs_sb_read_verify at line 726 of file fs/xfs/xfs_mount.c. Caller 0xffffffff8119e5cd > > This seems to be a recent regression. > > Comments above xfs_sb_quiet_read_verify() indicate that this behavior is > to be avoided: > > * We may be probed for a filesystem match, so we may not want to emit > * messages when the superblock buffer is not actually an XFS superblock. > > and it checks for proper magic prior to all the chattiness above int > that function. > > The superblock read is suposed to choose whether to be noisy or not, > in xfs_readsb(): > The following patch fixes the issue for me: diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index f6bfbd7..db8f27f 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c @@ -721,6 +721,11 @@ xfs_sb_read_verify( } error = xfs_sb_verify(bp); + if (error == XFS_ERROR(EWRONGFS)) { + xfs_buf_ioerror(bp, EWRONGFS); + return; + } + out_error: if (error) { XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp, bp->b_addr); -- Markus _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs